- 接口全称:
getBfchainVersion
- 接口简写:
v
- 可调用方式:
Http,Websocket,命令行
- 调用方法:
get
- 接口
url
地址:/api/basic/getBfchainVersion
- 请求参数:无
- 返回参数:
interface GetBfchainVersion {
/**是否成功 */
success: boolean;
result: {
/**当前节点的版本号 */
version: string;
};
}
2.获取本地节点当前最新区块
- 接口全称:
getLastBlock
- 接口简写:
glb
- 可调用方式:
Http,Websocket,命令行,Grpc
- 调用方法:
get
- 接口
url
地址:/api/basic/getLastBlock
- 请求参数:无
- 返回参数:
interface GetLastBlock {
/**是否成功 */
success: boolean;
result: {
/**区块高度 */
height: number;
/**区块时间戳 */
timestamp: number;
/**区块大小 */
blockSize: number;
/**锻造者公钥 */
generatorPublicKey: string;
/**锻造者的安全公钥 */
generatorSecondPublicKey?: string;
/**锻造者权益 */
generatorEquity: string;
/**区块事件数量 */
numberOfTransactions: number;
/**区块事件摘要 */
payloadHash: string;
/**区块事件摘要长度 */
payloadLength: number;
/**前块签名 */
previousBlockSignature: string;
/**总发生资产量 */
totalAmount: string;
/**总发生手续费 */
totalFee: string;
/**区块奖励值 */
reward: string;
/**区块的链标识符 */
magic: string;
/**区块参与度 */
blockParticipation: string;
/**区块签名 */
signature: string;
/**区块安全签名 */
signSignature?: string;
/**区块备注信息 */
remark: {
};
/**区块附加信息 */
asset: any;
};
}
3.获取指定区块
- 接口全称:
getBlock
- 接口简写:
gb
- 可调用方式:
Http,Websocket,命令行,Grpc
- 调用方法:
post
- 接口
url
地址:/api/basic/getBlock
- 请求参数:
interface GetBlock {
/**区块签名 */
signature?: string;
/**区块高度 */
height?: number;
/**查看第几页(一页20条记录) */
page?: number;
}
- 返回参数:
interface GetBlock {
/**是否成功 */
success: boolean;
result: {
blocks: {
/**区块版本号 */
version: number;
/**区块高度 */
height: number;
/**区块大小 */
blockSize: number;
/**区块时间戳 */
timestamp: number;
/**区块签名 */
signature: string;
/**区块安全签名 */
signSignature?: string;
/**锻造者gong'yao */
generatorPublicKey: string;
/**锻造者的安全公钥 */
generatorSecondPublicKey?: string;
/**锻造者权益 */
generatorEquity: string;
/**区块事件数量 */
numberOfTransactions: number;
/**区块事件摘要 */
payloadHash: string;
/**区块事件摘要长度 */
payloadLength: number;
/**前块签名 */
previousBlockSignature: string;
/**总发生资产量 */
totalAmount: string;
/**总发生手续费 */
totalFee: string;
/**区块奖励值 */
reward: string;
/**区块的链标识符 */
magic: string;
/**区块参与度 */
blockParticipation: string;
/**区块备注信息 */
remark: {
};
/**区块附加信息 */
asset: object;
/**区块统计信息 */
statisticInfo: {
/**区块打包的事件的总手续费 */
totalFee: string;
/**区块打包的事件的总权益值(不区分权益类型) */
totalAsset: string;
/**区块打包的事件的总主权益值 */
totalChainAsset: string;
/**区块打包的事件涉及的总账户数 */
totalAccount: number;
/**区块打包的事件权益类型统计明细,JSON 对象 */
assetStatisticHashMap: {
/**权益所属的链网络标识,大写字母或数字组成,5 个字符,最后一位是校验位 */
magic: string;
/**权益名,大写字母组成,3-5 个字符 */
assetType: string;
/**权益在块内的索引 */
index: number;
/**区块打包的事件类型统计明细,JSON 对象 */
typeStatisticHashMap: {
/**变动总值,某个账户的增加或者减少都会有影响 */
changeAmount: string;
/**变动总次数,某个账户的增加或者减少都会有影响 */
changeCount: number;
/**资产迁移总量 */
moveAmount: string;
/**交易次数统一 */
transactionCount: number;
};
};
/**区块打包的事件权益类型统计,JSON 对象 */
total: {
/**变动总值,某个账户的增加或者减少都会有影响 */
changeAmount: string;
/**变动总次数,某个账户的增加或者减少都会有影响 */
changeCount: number;
/**资产迁移总量 */
moveAmount: string;
/**交易次数统一 */
transactionCount: number;
};
};
};
};
/**锻造者掉线列表 */
roundOfflineGeneratersHashMap: {
/**
* 使用逗号分隔的地址
* address,address */
};
/**事件 */
transactions: {
transaction: TransactionJSON;
/**事件在区块内的索引 */
index: number;
/**区块高度 */
height: number;
/**事件发起账户的事件量 */
numberOfSenderTransactions: number;
/**事件涉及的账户权益变动信息 */
transactionAssetChanges: {
/**账户类型 */
accountType: number;
/**权益在块内的索引 */
assetTypes: number;
/**账户最新的权益持有量 */
assetBalance: string;
}[];
/**权益销毁前权益的最新信息 */
assetPrealnum?: {
/**剩余的权益数量 */
remainAssetPrealnum: string;
/**冻结的主权益数量 */
frozenMainAssetPrealnum: string;
};
/**区块锻造者的签名 */
signature: string;
/**区块锻造者的安全签名 */
signSignature?: string;
}[];
}[];
/**符合查询条件的总数 */
count: number;
/**分页查询最大值 */
cmdLimitPerQuery: number;
};
}
4.获取指定事件
- 接口全称:
getTransactions
- 接口简写:
gt
- 可调用方式:
Http,Websocket,命令行,Grpc
- 调用方法:
post
- 接口
url
地址:/api/basic/getTransactions
- 请求参数:
interface GetTransactions {
/**事件id */
signature?: string;
/**事件所属区块高度 */
height?: number;
/**事件所属区块最低高度,可与maxHeight配合查询一段区间的事件 */
minHeight?: number;
/**事件所属区块最高高度,可与minHeight配合查询一段区间的事件 */
maxHeight?: number;
/**事件发起方 */
senderId?: string;
/**事件接收方 */
recipientId?: string;
/**事件类型,如果不传入则不筛选事件类型,事件类型请参考 */
type?: string[];
/**事件的索引值,可以根据事件的索引值查询事件。索引值可能为assetType或signature或username等值,建议与其他条件并行使用以精确查找。 */
storageValue?: string;
/**查看第几页(一页20条记录) */
page?: number;
}
- 返回参数:
interface GetTransactions {
/**是否成功 */
success: boolean;
result: {
trs: {
/**事件在区块内的索引 */
index: number;
/**事件所在区块签名 */
blockSignature: string;
/**事件所在区块高度 */
height: number;
/**发起者的第N笔事件 */
numberOfSenderTransactions: number;
/**事件涉及的账户权益变动信息 */
transactionAssetChanges: {
/**账户类型 */
accountType: number;
/**权益在块内的索引 */
assetTypes: number;
/**账户最新的权益持有量 */
assetBalance: string;
}[];
/**权益销毁前权益的最新信息 */
assetPrealnum?: {
/**剩余的权益数量 */
remainAssetPrealnum: string;
/**冻结的主权益数量 */
frozenMainAssetPrealnum: string;
};
/**区块锻造者的签名 */
signature: string;
/**区块锻造者的安全签名 */
signSignature: string;
/**事件体 */
transaction: BFChainCore.TransactionJSON;
/**存储时间戳 */
dateCreated: number;
}[];
/**符合查询条件的总数 */
count: number;
/**分页查询最大值 */
cmdLimitPerQuery: number;
};
}
5.获取账户的最后一笔交易
- 接口全称:
getAccountLastTransaction
- 接口简写:
无
- 可调用方式:
Http,Websocket
- 调用方法:
post
- 接口
url
地址:/api/basic/getAccountLastTransaction
- 说明: 该接口用于获取指定地址的大概余额。根据返回参数 transactionAssetChanges的accountType取到assetBalance作为余额。
- 请求参数:
interface GetAccountInfoAndAssets {
/**账户地址 */
address: string;
/**资产类型 */
assetType: string;
}
- 返回参数:
interface GetAccountLastTransaction {
/**是否成功 */
success: boolean;
result: {
transactionInBlock?: BFChainCore.TransactionInBlockJSON;
/**资产在tib中对应的索引 */
assetIndex?: { [assetType:string]: number };
/**该交易所在的区块 */
block?: BFChainCore.BlockJSON;
}
}
6.创建账户
- 接口全称:
createAccount
- 接口简写:
ca
- 可调用方式:
Http,Websocket,命令行,Grpc
- 调用方法:
post
- 接口
url
地址:/api/basic/createAccount
- 请求参数:
interface CreateAccount {
/**账户密钥 */
secret: string;
}
- 返回参数:
interface CreateAccount {
/**是否成功 */
success: boolean;
result: {
/**地址 */
address: string;
/**公钥 */
publicKey: string;
/**私钥 */
secretKey: string;
};
}
7.获取节点状态
- 接口全称:
getBlockChainStatus
- 接口简写:
gbc
- 可调用方式:
Http,Websocket,命令行,Grpc
- 调用方法:
get
- 接口
url
地址:/api/basic/getBlockChainStatus
- 请求参数:无
- 返回参数:
interface GetBlockChainStatus {
/**是否成功 */
success: boolean;
result: {
/**节点运行状态:0 离线,不可用 1 自由状态,有空闲资源可用 2 重建区块链 3 节点共识 4 重放区块 5 锻造区块 6 回滚区块 */
status: any;
/**当前的节点连接数 */
peers: number;
/**当前节点是否完成初始化数据 */
isReady: boolean;
/**节点的当前时间戳 */
serverTimestamp: number;
};
}