# Ledger

创建 Ledger 模块对象

func NewLedgerApi(c *rpc.Client) *LedgerApi

# AccountBlocksCount

返回指定账户对应的区块总数量

func (l *LedgerApi) AccountBlocksCount(address types.Address) (int64, error)

# AccountHistoryTopn

返回指定账户对应的区块,包含账户下的每个 token,返回区块顺序从最后一个区块开始,向前遍历到指定数量。参数 count 表示要返回的区块数量,offset 表示偏移量,从第几个区块开始查询。

func (l *LedgerApi) AccountHistoryTopn(address types.Address, count int, offset int) ([]*api.APIBlock, error)

# AccountInfo

返回账户的详细信息,包含该账户下的每个 token

func (l *LedgerApi) AccountInfo(address types.Address) (*api.APIAccount, error)

# AccountRepresentative

返回该账户的代表账户

func (l *LedgerApi) AccountRepresentative(address types.Address) (types.Address, error)

# AccountVotingWeight

返回该账户的投票权重

func (l *LedgerApi) AccountVotingWeight(address types.Address) (types.Balance, error)

# Accounts

返回链上的账户地址列表。count 表示返回的账户数量,offset 表示偏移量,从第几个账户开始返回。

func (l *LedgerApi) Accounts(count int, offset int) ([]*types.Address, error)

# AccountsBalance

返回每个账户的余额和待接收数量

func (l *LedgerApi) AccountsBalance(addresses []types.Address) (map[types.Address]map[string]map[string]types.Balance, error)

# AccountsCount

返回链上的账户总量

func (l *LedgerApi) AccountsCount() (uint64, error)

# AccountsFrontiers

返回每个账户下的 token hash 以及每个 token 所对应链的最后一个区块哈希

func (l *LedgerApi) AccountsFrontiers(addresses []types.Address) (map[types.Address]map[string]types.Hash, error)

# AccountsPending

返回账户的待接收交易信息。n 表示每个账户要返回待接收交易信息的最大数量,如果设置为-1,则返回所有待接收交易

func (l *LedgerApi) AccountsPending(addresses []types.Address, n int) (map[types.Address][]*api.APIPending, error)

# BlockAccount

根据区块 hash 返回该区块所属的账户地址

func (l *LedgerApi) BlockAccount(hash types.Hash) (types.Address, error)

# BlockHash

返回区块 hash

func (l *LedgerApi) BlockHash(block types.StateBlock) types.Hash

# BlockInfo

根据 block hash 返回 block 具体信息

func (l *LedgerApi) BlockInfo(hash types.Hash) (*api.APIBlock, error)

# BlockConfirmedStatus

返回区块的链上确认状态,如果已经被确认,返回 true,否则返回 false

func (l *LedgerApi) BlockConfirmedStatus(hash types.Hash) (bool, error)

# Blocks

返回链上的区块列表,count 表示要返回的区块数量,offset 表示偏移量,从第几个区块开始查询

func (l *LedgerApi) Blocks(count int, offset int) ([]*api.APIBlock, error)

# BlocksCount

返回已确认(包含智能合约区块)和未确认的区块数量

func (l *LedgerApi) BlocksCount() (map[string]uint64, error)

# BlocksCountByType

根据类型返回区块数量

func (l *LedgerApi) BlocksCountByType() (map[string]uint64, error)

# BlocksInfo

根据区块 hash 的列表返回区块信息列表

func (l *LedgerApi) BlocksInfo(hash []types.Hash) ([]*api.APIBlock, error)

# ConfirmedAccountInfo

返回账户的确认信息

func (l *LedgerApi) ConfirmedAccountInfo(address types.Address) (*APIAccount, error) 

# Chain

接收一个特定的区块哈希,然后从这个区块开始向前遍历,直到指定的区块数量。n 表示要返回区块数量,如果设置为-1,则遍历到第一个区块

func (l *LedgerApi) Chain(hash types.Hash, n int) ([]types.Hash, error)

# Delegators

返回指定代表账户所代表的地址和每个地址的余额

func (l *LedgerApi) Delegators(hash types.Address) ([]*api.APIAccountBalance, error)

# DelegatorsCount

返回特定代表账户所代表的账户总数

func (l *LedgerApi) DelegatorsCount(hash types.Address) (int64, error)

# GenerateChangeBlock

根据账户和私钥产生修改代表的区块

func (l *LedgerApi) GenerateChangeBlock(account types.Address, representative types.Address, sign Signature) (*types.StateBlock, error)

# GenerateReceiveBlock

根据发送区块和私钥产生接收区块

func (l *LedgerApi) GenerateReceiveBlock(txBlock *types.StateBlock, sign Signature) (*types.StateBlock, error)

# GenerateReceiveBlockByHash

根据发送区块 hash 和私钥产生接收区块

func (l *LedgerApi) GenerateReceiveBlockByHash(txHash types.Hash, sign Signature) (*types.StateBlock, error)

# GenerateSendBlock

根据交易参数和私钥生成发送区块

func (l *LedgerApi) GenerateSendBlock(para *api.APISendBlockPara, sign Signature) (*types.StateBlock, error)

# Pending

根据地址和 token hash 查询该地址对应的待接收交易信息

func (l *LedgerApi) Pending(address types.Address, hash types.Hash) (*api.APIPending, error)

# Performance

返回 Performance 数据

func (l *LedgerApi) Performance() ([]*types.PerformanceTime, error)

# Process

接收一个特定区块,然后检测区块基本信息,根据区块更新链信息,并且广播区块

func (l *LedgerApi) Process(block *types.StateBlock) (types.Hash, error)

# Representatives

返回链上的代表账户及其权重。sorting 如果设置为 false,将会以随机顺序返回代表账户,如果设置为 true,则会以代表账户权重进行排序

func (l *LedgerApi) Representatives(sorting bool) (*api.APIAccountBalances, error)

# TokenMeta

根据账户地址和 token hash 返回该账户下 token 的 meta 信息

func (l *LedgerApi) TokenMeta(hash types.Hash, address types.Address) (*api.APITokenMeta, error)

# TokenInfoById

根据 token id 返回 token 信息

func (l *LedgerApi) TokenInfoById(tokenId types.Hash) (*api.ApiTokenInfo, error)

# TokenInfoByName

根据 token 名称返回 token 信息

func (l *LedgerApi) TokenInfoByName(tokenName string) (*api.ApiTokenInfo, error)

# Tokens

返回链上的 token 列表

func (l *LedgerApi) Tokens() ([]*types.TokenInfo, error)

# TransactionsCount

返回链上的确认区块(不包括智能合约)和未确认区块数

func (l *LedgerApi) TransactionsCount() (map[string]uint64, error)