Solidityスマートコントラクト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 - このメソッドは、トークンの10進値を取得します。このメソッドは、
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、または指定されたユーザーによってのみコールできます。
トークン動作管理 - ミント可能動作
-
mint - このメソッドは、トークン(分)を作成します。このメソッドは、minterロールを持つ任意のユーザーがコールできます。
-
batchMint - このメソッドは、一度に複数のユーザーのトークンを作成(分)します。このメソッドは、minterロールを持つ任意のユーザーがコールできます。
-
requestMint - このメソッドは、指定された量のトークンを作成するために、minterが公証人にリクエストを送信するために呼び出すことができます。
-
approveMint - このメソッドは、ミント・リクエストを承認するために公証人によってコールできます。
-
rejectMint - このメソッドは、ミント要求を拒否するために公証人によってコールできます。
トークン動作管理 - バーン可能動作
-
burn - このメソッドは、トークンを非アクティブ化(バーン)します。このメソッドは、バーナー・ロールを持つ任意のユーザーがコールできます。
-
batchBurn - このメソッドは、複数のユーザーのトークンを一度に書き込みます。このメソッドは、バーナー・ロールを持つ任意のユーザーがコールできます。
-
requestBurn - このメソッドは、指定した量のトークンを書き込むリクエストを公証人に送信するために、バーナーによってコールできます。
-
approveBurn - このメソッドは、書込みリクエストを承認するために公証人によってコールできます。
-
rejectBurn - このメソッドは、書き込み要求を拒否するために公証人によって呼び出すことができます。
トークン動作管理 - 転送可能動作
-
transfer - このメソッドは、指定されたユーザーにトークンを転送します。このメソッドは、トークンを持つ任意のユーザーがコールできます。
-
batchTransfer - このメソッドは、指定されたユーザー・リストにトークンを転送します。このメソッドは、トークンを持つ任意のユーザーがコールできます。
トークン動作管理- 委任可能な動作
-
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 - このメソッドは、トークンの10進値を取得します。このメソッドは、
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のみがコールできます。
トークン動作管理- ロック可能な動作