Solidity Smart Contract API
Oracle Blockchain Platform Enterprise Edition for Hyperledger Besu 提供了 Solidity 方法,可用于处理 Solidity 智能合约。
API 支持基于 ERC-20 标准和 ERC-1155 标准的令牌。ERC-20 和 ERC-1155 实现包括一个帐户智能合约和一个令牌智能合约。账户智能合同提供身份和访问控制方法。令牌智能合约提供专门与令牌相关的功能。
ERC-20 账户合同方法
账户管理方法
-
createAccount - 此方法为指定的用户创建帐户。账户跟踪用户的令牌余额和暂挂余额,并且必须为在任何时候具有令牌的所有用户创建该账户。此方法只能由指定组织的
Token Admin或Org Admin调用。 -
deleteAccount - 此方法将删除指定用户的帐户。仅当令牌余额为零时,才能删除账户。此方法只能由指定组织的
Token Admin或Org Admin调用。 -
getAccountStatus - 此方法获取指定帐户的当前状态。此方法只能由指定组织的
Token Admin、Token Auditor、Org Admin或指定用户调用。 -
getAccountByAddress - 此方法获取指定用户的帐户信息。此方法只能由指定组织的
Token Admin、Token Auditor、Org Admin或指定用户调用。 -
getAllAccounts - 此方法获取属于指定范围的所有帐户的帐户信息。此方法只能由
Token Admin或Token Auditor调用。 -
activateAccount - 此方法激活用户帐户。此方法只能由指定组织的
Token Admin或Org Admin调用。 -
suspendAccount - 此方法将暂停用户帐户。要删除帐户,帐户余额必须为零。此方法只能由指定组织的
Token Admin或Org Admin调用。 -
setMaxDailyAmount - 此方法设置每日可在事务处理中使用的标记的最大数量。此方法只能由指定组织的
Token Admin或Org Admin调用。 -
setMaxDailyTransactionCount - 此方法设置每天可以完成的最大事务处理数。此方法只能由指定组织的
Token Admin或Org Admin调用。
管理员管理的方法
-
addTokenAdmin - 此方法将用户添加为
Token Admin。此方法只能由Token Admin调用。 -
removeTokenAdmin - 此方法将用户删除为
Token Admin。此方法只能由Token Admin调用。 -
getAllTokenAdmins - 此方法返回属于
Token Admin的所有用户的列表。此方法只能由Token Admin或Token Auditor调用。 -
isTokenAdmin - 此方法检查指定用户是否为
Token Admin。此方法只能由Token Admin、Token Auditor、Org Admin或Org Auditor调用。 -
addOrgAdmin - 此方法将用户添加为
Org Admin。此方法只能由指定组织的Token Admin或Org Admin调用。 -
removeOrgAdmin - 此方法将用户删除为
Org Admin。此方法只能由指定组织的Token Admin或Org Admin调用。 -
getAllOrgAdmins - 此方法返回属于
Org Admin的所有用户的列表。此方法只能由Token Admin、Token Auditor、Org Admin或Org Auditor调用。 -
isOrgAdmin - 此方法检查指定用户是否为
Org Admin。此方法只能由Token Admin、Token Auditor、Org Admin或Org Auditor调用。
审计员管理方法
-
addTokenAuditor - 此方法将用户添加为
Token Auditor。此方法只能由Token Admin调用。 -
removeTokenAuditor - 此方法将用户删除为
Token Auditor。此方法只能由Token Admin调用。 -
getAllTokenAuditors - 此方法返回属于
Token Auditor的所有用户的列表。此方法只能由Token Admin或Token Auditor调用。 -
isTokenAuditor - 此方法检查指定用户是否为
Token Auditor。此方法可由任何用户调用。 -
addOrgAuditor - 此方法将用户添加为
Org Auditor。此方法只能由指定组织的Token Admin或Org Admin调用。 -
removeOrgAuditor - 此方法将用户删除为
Org Auditor。此方法只能由指定组织的Token Admin或Org Admin调用。 -
getAllOrgAuditors - 此方法返回属于
Org Auditor的所有用户的列表。此方法只能由Token Admin、Token Auditor、Org Admin或Org Auditor调用。 -
isOrgAuditor - 此方法检查指定用户是否为
Org Auditor。此方法可由任何用户调用。
角色管理的方法
ERC-20 标记合同方法
标记配置管理的方法
-
__ERC20Token_init - 部署令牌合同时会调用此方法。此方法只能由
Token Admin调用。 -
initializeERC20Token - 此方法初始化 ERC-20 令牌。此方法只能由
Token Admin调用。 -
getToken - 此方法获取令牌的详细信息。此方法只能由
Token Admin、Token Auditor、Org Admin或Org Auditor调用。 -
decimals - 此方法获取令牌的十进制值。此方法只能由
Token Admin、Token Auditor、Org Admin或Org Auditor调用。
-
__ERC20Token_init - 部署令牌合同时会调用此方法。此方法只能由
Token Admin调用。 -
initializeERC20Token - 此方法初始化 ERC-20 令牌。此方法只能由
Token Admin调用。 -
getToken - 此方法获取令牌的详细信息。此方法只能由
Token Admin、Token Auditor、Org Admin或Org Auditor调用。 -
cap - 此方法获取最大令牌供应量 (cap)。此方法只能由
Token Admin、Token Auditor、Org Admin或Org Auditor调用。 -
balanceOf - 此方法获取指定用户的令牌余额。此方法只能由
Token Admin、Token Auditor、Org Admin、Org Auditor或指定用户调用。
令牌行为管理 - 可铸造行为
令牌行为管理 - 可燃行为
-
burn - 此方法将停用(刻录)令牌。具有刻录器角色的任何用户都可以调用此方法。
-
batchBurn - 此方法一次为多个用户刻录令牌。具有刻录器角色的任何用户都可以调用此方法。
-
requestBurn - 刻录器可以调用此方法,向公证人发送请求以刻录指定数量的令牌。
-
approveBurn - 公证人可以调用此方法来批准刻录请求。
-
rejectBurn - 公证人可以调用此方法来拒绝刻录请求。
令牌行为管理 - 可转移行为
令牌行为管理 - 可委托行为
-
allowance - 此方法将令牌支出委托给指定用户。任何具有令牌的用户都可以调用此方法。
-
approve - 此方法批准指定委托支付者的令牌数量。任何具有令牌的用户都可以调用此方法。
-
transferFrom - 授权的支出者使用此方法传输令牌。
令牌行为管理 - 可暂停行为
-
isPaused - 此方法检查合同是否已暂停。此方法只能由
Token Admin、Token Auditor、Org Admin或Org Auditor调用。 -
pause - 此方法将暂停合同。此方法只能由
Token Admin调用。 -
unpause - 此方法将恢复合同。此方法只能由
Token Admin调用。
令牌行为管理 - 可暂挂行为
-
hold - 此方法代表令牌所有者创建暂挂。任何具有令牌的用户都可以调用此方法。
-
executeHold - 此方法批准暂挂请求。此方法只能由以前指定的公证人调用。
-
releaseHold - 此方法拒绝暂挂请求。此方法只能由以前指定的公证人调用。
-
getOnHoldBalanceWithOperationId - 此方法返回指定工序 ID 的暂挂余额。此方法可由指定组织的
Token Admin或Token Auditor、Org Admin或Org Auditor调用,也可由交易参与者(发件人、收件人、公证人)调用。 -
getAccountOnHoldBalance - 此方法返回指定账户的暂挂余额。此方法可由指定组织的
Token Admin或Token Auditor、Org Admin或Org Auditor调用,也可由交易参与者(发件人、收件人、公证人)调用。
ERC-1155 账户合同方法
账户管理方法
-
createAccount - 此方法为指定的用户创建帐户。帐户跟踪用户的令牌余额,并且必须为在任何时候具有令牌的所有用户创建该帐户。此方法只能由
Token Admin调用。 -
deleteAccount - 此方法将删除指定用户的帐户。仅当令牌余额为零时,才能删除账户。此方法只能由
Token Admin调用。 -
getAccountStatus - 此方法获取指定帐户的当前状态。此方法只能由
Token Admin或指定用户调用。 -
getAccountByAddress - 此方法获取指定用户的帐户信息。此方法只能由
Token Admin或指定用户调用。 -
getAllAccounts - 此方法获取属于指定范围的所有帐户的帐户信息。此方法只能由
Token Admin调用。 -
activateAccount - 此方法激活用户帐户。此方法只能由
Token Admin调用。 -
suspendAccount - 此方法将暂停用户帐户。要删除帐户,帐户余额必须为零。此方法只能由
Token Admin调用。
管理员管理的方法
-
addTokenAdmin - 此方法将用户添加为
Token Admin。此方法只能由Token Admin调用。 -
removeTokenAdmin - 此方法将用户删除为
Token Admin。此方法只能由Token Admin调用。 -
getAllTokenAdmins - 此方法返回属于
Token Admin的所有用户的列表。此方法只能由Token Admin调用。 -
isTokenAdmin - 此方法检查指定用户是否为
Token Admin。此方法只能由Token Admin调用。
角色管理的方法
-
addRole - 此方法向指定用户添加角色。此方法只能由
Token Admin调用。 -
removeRole - 此方法从指定用户中删除角色。此方法只能由指定组织的
Token Admin或Org Admin调用。 -
accountHasRole - 此方法检查用户是否具有指定的角色。此方法可由任何用户调用。
-
addTokenSysRole - 此方法将
TOKEN_SYS_VAULT_ROLE角色添加到指定的用户。此方法只能由Token Admin调用。 -
removeTokenSysRole - 此方法从指定用户中删除
TOKEN_SYS_VAULT_ROLE角色。此方法只能由Token Admin调用。 -
transferTokenSysRole - 此方法将
TOKEN_SYS_VAULT_ROLE角色从一个用户转移到另一个用户。此方法只能由Token Admin调用。
ERC-1155 标记合同方法
标记配置管理的方法
-
__ERC1155Token_init - 部署令牌合同时会调用此方法。此方法只能由
Token Admin调用。 -
saveNFTClass - 此方法将 NFT 分类信息保存到分类帐。此方法只能由
Token Admin调用。 -
createNonFungibleToken - 此方法用于模拟 NFT。此方法只能由具有 minter 角色的用户调用。
-
createFungibleToken - 部署令牌合同时会调用此方法。此方法只能由
Token Admin调用。 -
getTokenById - 此方法获取令牌的详细信息。此方法只能由
Token Admin或令牌所有者调用。 -
geTokenDecimals - 此方法获取令牌的十进制值。此方法只能由
Token Admin调用。
-
tokenIdOf - 此方法获取令牌的 ID。此方法只能由
Token Admin调用。 -
balanceOf - 此方法获取指定用户的令牌余额。此方法只能由
Token Admin或令牌所有者调用。 -
balanceOfBatch - 此方法获取用户列表的令牌余额。此方法只能由
Token Admin或令牌所有者调用。 -
exists - 此方法检查指定的标记是否存在。此方法只能由
Token Admin调用。 -
totalSupply - 此方法检查将获取合同中所有令牌的总供应。此方法只能由
Token Admin调用。 -
totalSupply - 此方法检查获取合同中指定标记的总供应。此方法只能由
Token Admin调用。
令牌行为管理 - 可燃行为
-
burnBatch - 此方法在批处理模式下销毁(烧毁)ERC-1155 令牌。必须初始化标记。具有刻录器角色的任何用户都可以调用此方法。
-
burnNFT - 此方法销毁(刻录)非可换代币。必须初始化标记。具有刻录器角色的任何用户都可以调用此方法。
令牌行为管理 - 可转移行为
-
safeTransferFrom - 此方法将令牌从发送方传输到接收方。任何持有令牌的用户都可以调用此方法。
-
safeBatchTransferFrom - 此方法将令牌从发送方传输到接收方。任何持有令牌的用户都可以调用此方法。
令牌行为管理 - 可委托行为
-
setApprovalForAll - 此方法授予或撤消操作员根据
approved参数转移调用者的令牌的权限。任何持有令牌的用户都可以调用此方法。 -
isApprovedForAll - 此方法检查操作员是否已获批准转移指定账户的令牌。任何持有令牌的用户都可以调用此方法。
令牌行为管理 - 可暂停行为
-
paused - 此方法检查合同是否已暂停。此方法可由任何用户调用。
-
pause - 此方法将暂停合同。此方法只能由
Token Admin调用。 -
unpause - 此方法恢复已暂停的合同。此方法只能由
Token Admin调用。
令牌行为管理 - 可锁定行为