トークン・タクソノミ・フレームワーク用のスキャフォールド済Goプロジェクト
ブロックチェーン・アプリケーション・ビルダーは、トークン仕様ファイルから入力を受け取り、完全に機能するスキャフォールド済チェーンコード・プロジェクトを生成します。
プロジェクトは、CRUDおよび非CRUDメソッドを含むトークン・ライフサイクル・クラスおよび関数を自動的に生成します。引数の検証、マーシャリング/アンマーシャリングおよび透過的永続性機能はすべて自動的にサポートされます。
トークンに直接関連しない、スキャフォールドされたプロジェクトおよびメソッドの詳細は、「スキャフォールド済Goチェーンコード・プロジェクト」を参照してください。
モデル
透過的永続性機能(または簡略化されたORM)は、OchainModel
クラスで取得されます。
package src
type Digicur struct {
AssetType string `json:"AssetType" final:"otoken"`
Token_id string `json:"Token_id" id:"true" mandatory:"true" validate:"regexp=^[A-Za-z0-9][A-Za-z0-9_-]*$,max=16"`
Token_name string `json:"Token_name" final:"digicur"`
Token_desc string `json:"Token_desc" validate:"max=256"`
Token_type string `json:"Token_type" final:"fungible" validate:"regexp=^fungible$"`
Behavior []string `json:"Behavior" final:"[\"divisible\",\"mintable\",\"transferable\",\"burnable\",\"holdable\",\"roles\"]"`
Roles map[string]interface{} `json:"Roles" final:"{\"minter_role_name\":\"minter\",\"burner_role_name\":\"burner\",\"notary_role_name\":\"notary\"}"`
Mintable map[string]interface{} `json:"Mintable" final:"{\"Max_mint_quantity\":20000}"`
Divisible map[string]interface{} `json:"Divisible" final:"{\"Decimal\":1}"`
Token_to_currency_ratio int `json:"Token_to_currency_ratio" validate:"int"`
Currency_representation string `json:"Currency_representation" validate:"string"`
Metadata interface{} `json:"Metadata,omitempty"`
}
コントローラ
メインコントローラは1つのみです。
type Controller struct {
Ctx trxcontext.TrxContext
}
クラス、関数またはファイルはいくつでも作成できますが、メイン・コントローラ・クラスで定義されたメソッドのみが呼出し可能です。その他のメソッドは非表示です。
トークンSDKメソッドを使用して、ビジネス・アプリケーションのカスタム・メソッドを記述できます。
カスタム・メソッドで複数のトークンSDKメソッドを使用する場合は、状態データベースの同じキーと値のペアに影響するメソッドを使用しないでください。
かわりに、次のコード・スニペットに示すように、BulkTransferTokens
メソッドを使用して、コール元アカウントから複数の勘定科目に転送します。
BulkTransferTokens(token_id string, flow: []map[string]interface{})
ノート:
状態データベースの同じキーと値のペアに影響を与える可能性がある複数のトークンSDKメソッドをカスタム・メソッドで使用する場合は、トークン・チェーンコードのMVCC最適化を有効にします。詳細は、「MVCCの最適化」を参照してください。自動生成されたトークン・メソッド
ブロックチェーン・アプリケーション・ビルダーは、トークンおよびトークン・ライフサイクルをサポートするメソッドを自動的に生成します。これらのメソッドを使用して、トークンの初期化、ロールとアカウントの管理、およびその他のトークン・ライフサイクル・タスクを追加コーディングなしで行えます。コントローラ・メソッドを呼び出し可能にするには、パブリックである必要があります。パブリック・メソッド名は大文字で始まります。小文字で始まるメソッド名はプライベートです。
アクセス制御管理のメソッド
-
AddTokenAdmin
- このメソッドは、ユーザーをチェーンコードの
Token Admin
として追加します。このメソッドは、チェーンコードのToken Admin
のみがコールできます。 -
RemoveTokenAdmin
- このメソッドは、チェーンコードの
Token Admin
であるユーザーを削除します。このメソッドは、チェーンコードのToken Admin
のみがコールできます。 -
IsTokenAdmin
- このメソッドは、関数のコール元が
Token Admin
の場合はブール値true
を返して、それ以外の場合はfalse
を返します。Token Admin
またはOrg Admin
は、ブロックチェーン・ネットワーク内の他のユーザーに対してこの関数をコールできます。他のユーザーは、自分のアカウントに対してのみこのメソッドをコールできます。 -
GetAllTokenAdmins
- このメソッドは、チェーンコードの
Token Admin
であるすべてのユーザーのリストを返します。このメソッドは、チェーンコードのToken Admin
またはOrg Admin
のみがコールできます。 -
AddOrgAdmin
- このメソッドは、ユーザーを組織の
Org Admin
として追加します。このメソッドは、チェーンコードのToken Admin
または指定された組織のOrg Admin
のみがコールできます。 -
RemoveOrgAdmin
- このメソッドは、組織の
Org Admin
であるユーザーを削除します。このメソッドは、チェーンコードのToken Admin
または指定された組織のOrg Admin
のみがコールできます。 -
GetOrgAdmins
- このメソッドは、組織の
Org Admin
であるすべてのユーザーのリストを返します。このメソッドは、チェーンコードのToken Admin
または任意のOrg Admin
のみがコールできます。
-
AddTokenAdmin
- このメソッドは、ユーザーをチェーンコードの
Token Admin
として追加します。このメソッドは、チェーンコードのToken Admin
のみがコールできます。 -
RemoveTokenAdmin
- このメソッドは、チェーンコードの
Token Admin
であるユーザーを削除します。このメソッドは、チェーンコードのToken Admin
のみがコールできます。 -
IsTokenAdmin
- このメソッドは、関数のコール元が
Token Admin
の場合はブール値true
を返して、それ以外の場合はfalse
を返します。このファンクションをコールできるのは、Token Admin
、Token Auditor
、Org Admin
またはOrg Auditor
のみです。 -
GetAllTokenAdmins
- このメソッドは、チェーンコードの
Token Admin
であるすべてのユーザーのリストを返します。このメソッドは、Token Admin
またはToken Auditor
のみがコールできます。 -
AddOrgAdmin
- このメソッドは、ユーザーを組織の
Org Admin
として追加します。このメソッドは、チェーンコードのToken Admin
または指定された組織のOrg Admin
のみがコールできます。 -
RemoveOrgAdmin
- このメソッドは、組織の
Org Admin
であるユーザーを削除します。このメソッドは、チェーンコードのToken Admin
または指定された組織のOrg Admin
のみがコールできます。 -
GetOrgAdmins
- このメソッドは、組織の
Org Admin
であるすべてのユーザーのリストを返します。このメソッドは、Token Admin
、Token Auditor
、Org Admin
またはOrg Auditor
のみがコールできます。 -
AddTokenAuditor
- このメソッドは、ユーザーをチェーンコードの
Token Auditor
として追加します。このメソッドは、チェーンコードのToken Admin
のみがコールできます。 -
RemoveTokenAuditor
- このメソッドは、チェーンコードの
Token Auditor
であるユーザーを削除します。このメソッドは、チェーンコードのToken Admin
のみがコールできます。 -
GetTokenAuditors
- このメソッドは、チェーンコードのすべての
Token Auditors
を返します。このメソッドは、チェーンコードのToken Admin
またはToken Auditor
のみがコールできます。 -
AddOrgAuditor
- このメソッドは、チェーンコードの
Org Auditor
としてユーザーを追加します。このメソッドは、チェーンコードのToken Admin
またはOrg Admin
のみがコールできます。 -
RemoveOrgAuditor
- このメソッドは、チェーンコードの
Org Auditor
としてユーザーを削除します。このメソッドは、チェーンコードのToken Admin
またはOrg Admin
のみがコールできます。 -
GetOrgAuditors
- このメソッドは、チェーンコードのすべての
Org Auditors
を返します。このメソッドは、Token Admin
、Token Auditor
、Org Admin
またはOrg Auditor
のみがコールできます。
トークン構成管理のメソッド
-
Init
- このメソッドは、チェーンコードがデプロイされるときにコールされます。すべての
Token Admin
は、必須のadminList
パラメータのuser_id
およびorg_id
情報によって識別されます。user_id
は、インスタンス所有者またはインスタンスにログインしているユーザーのユーザー名および電子メールIDです。org_id
は、現在のネットワーク組織内のユーザーのメンバーシップ・サービス・プロバイダ(MSP) IDです。 -
Initialize<Token Name>Token
- このメソッドはトークンを作成し、トークン・プロパティを初期化します。アセットとそのプロパティは、状態データベースに保存されます。このメソッドは、チェーンコードの
Token Admin
のみがコールできます。 -
Update<Token Name>Token
- このメソッドは、トークン・プロパティを更新します。トークン・アセットの作成後は、
token_desc
プロパティおよびカスタム・プロパティのみを更新できます。このメソッドは、チェーンコードのToken Admin
のみがコールできます。 -
GetTokenDecimals
- このメソッドは、フラクショナル・トークンに対して構成された小数点以下の桁数を返します。トークンに対して
divisible
動作が指定されなかった場合、デフォルト値は0です。このメソッドは、チェーンコードのToken Admin
またはOrg Admin
のみがコールできます。 -
GetTokenById
- このメソッドは、状態データベースに存在する場合、トークン・オブジェクトを返します。このメソッドは、チェーンコードの
Token Admin
またはOrg Admin
のみがコールできます。 -
GetTokenHistory
- このメソッドは、指定されたトークンIDのトークン履歴を返します。すべてのユーザーがこのメソッドをコールできます。
-
GetAllTokens
- このメソッドは、状態データベースに格納されているすべてのトークンを返します。このメソッドは、チェーンコードの
Token Admin
またはOrg Admin
のみがコールできます。 -
GetTokensByName
- このメソッドは、指定された名前のすべてのトークン・オブジェクトを返します。このメソッドは、チェーンコードの
Token Admin
またはOrg Admin
のみがコールできます。このメソッドでは、Berkeley DB SQLリッチ問合せが使用され、リモートOracle Blockchain Platformネットワークに接続されている場合にのみコールできます。
-
Init
- このメソッドは、チェーンコードがデプロイされるときにコールされます。すべての
Token Admin
は、必須のadminList
パラメータのuser_id
およびorg_id
情報によって識別されます。user_id
は、インスタンス所有者またはインスタンスにログインしているユーザーのユーザー名および電子メールIDです。org_id
は、現在のネットワーク組織内のユーザーのメンバーシップ・サービス・プロバイダ(MSP) IDです。 -
Initialize<Token Name>Token
- このメソッドはトークンを作成し、トークン・プロパティを初期化します。アセットとそのプロパティは、状態データベースに保存されます。このメソッドは、チェーンコードの
Token Admin
のみがコールできます。 -
Update<Token Name>Token
- このメソッドは、トークン・プロパティを更新します。トークン・アセットの作成後は、
token_desc
プロパティおよびカスタム・プロパティのみを更新できます。このメソッドは、チェーンコードのToken Admin
のみがコールできます。 -
GetTokenDecimals
- このメソッドは、フラクショナル・トークンに対して構成された小数点以下の桁数を返します。トークンに対して
divisible
動作が指定されなかった場合、デフォルト値は0です。このメソッドは、Token Admin
、Token Auditor
、Org Admin
またはOrg Auditor
のみがコールできます。 -
GetTokenById
- このメソッドは、状態データベースに存在する場合、トークン・オブジェクトを返します。このメソッドは、
Token Admin
、Token Auditor
、Org Admin
またはOrg Auditor
のみがコールできます。 -
GetTokenHistory
- このメソッドは、指定されたトークンIDのトークン履歴を返します。このメソッドは、
Token Admin
、Token Auditor
、Org Admin
またはOrg Auditor
のみがコールできます。 -
GetAllTokens
- このメソッドは、状態データベースに格納されているすべてのトークンを返します。このメソッドは、
Token Admin
、Token Auditor
、Org Admin
またはOrg Auditor
のみがコールできます。 -
GetTokensByName
- このメソッドは、指定された名前のすべてのトークン・オブジェクトを返します。このメソッドは、
Token Admin
、Token Auditor
、Org Admin
またはOrg Auditor
のみがコールできます。このメソッドでは、Berkeley DB SQLリッチ問合せが使用され、リモートOracle Blockchain Platformネットワークに接続されている場合にのみコールできます。
アカウント管理のメソッド
-
CreateAccount
- このメソッドは、指定されたユーザーおよびトークンのアカウントを作成します。任意の時点でトークンを持つすべてのユーザーに対してアカウントを作成する必要があります。アカウントは、残高、保留残高およびトランザクション履歴を追跡します。アカウントIDは英数字のセットです。アカウントIDは、
oaccount~<token asset name>~
が先頭付き、インスタンス所有者およびインスタンスにログインしているユーザーのユーザー名または電子メールID (user_id
)と現在のネットワーク組織内のユーザーの会員サービス・プロバイダID (org_id
)のハッシュが続きます。このメソッドは、チェーンコードのToken Admin
または指定された組織のOrg Admin
のみがコールできます。 -
AssociateTokenToAccount
- このメソッドは、代替可能トークンをアカウントに関連付けます。このメソッドは、チェーンコードの
Token Admin
または関連する組織のOrg Admin
のみがコールできます。 -
GetAccount
- このメソッドは、指定されたユーザーおよびトークンのアカウント詳細を返します。このメソッドは、チェーンコードの
Token Admin
、指定された組織のOrg Admin
またはアカウントのAccountOwner
のみがコールできます。 -
GetAccountHistory
- このメソッドは、指定されたユーザーおよびトークンのアカウント履歴の詳細を返します。このメソッドは、チェーンコードの
Token Admin
またはアカウントのAccountOwner
のみがコールできます。 -
GetAccountOnHoldBalance
- このメソッドは、指定されたアカウントおよびトークンの現在の保留残高を返します。このメソッドは、チェーンコードの
Token Admin
、指定された組織のOrg Admin
またはアカウントのAccountOwner
のみがコールできます。 -
GetAllAccounts
- このメソッドは、すべてのアカウントのリストを返します。このメソッドは、チェーンコードの
Token Admin
のみがコールできます。このメソッドでは、Berkeley DB SQLリッチ問合せが使用され、リモートOracle Blockchain Platformネットワークに接続されている場合にのみコールできます。 -
GetUserByAccountId
- このメソッドは、指定されたアカウントのユーザー詳細(
org_id
およびuser_id
)を返します。このメソッドは、チェーンコードの任意のユーザーがコールできます。 -
GetAccountBalance
- このメソッドは、指定されたアカウントおよびトークンの現在の残高を返します。このメソッドは、チェーンコードの
Token Admin
、指定された組織のOrg Admin
またはアカウントのAccountOwner
のみがコールできます。 -
GetAllOrgAccounts
- このメソッドは、指定された組織に属するすべてのトークン・アカウントのリストを返します。このメソッドは、チェーンコードの
Token Admin
または指定された組織のOrg Admin
のみがコールできます。
-
CreateAccount
- このメソッドは、指定されたユーザーおよびトークンのアカウントを作成します。任意の時点でトークンを持つすべてのユーザーに対してアカウントを作成する必要があります。アカウントは、残高、保留残高およびトランザクション履歴を追跡します。アカウントIDは英数字のセットです。アカウントIDは、
oaccount~<token asset name>~
が先頭付き、インスタンス所有者およびインスタンスにログインしているユーザーのユーザー名または電子メールID (user_id
)と現在のネットワーク組織内のユーザーの会員サービス・プロバイダID (org_id
)のハッシュが続きます。このメソッドは、チェーンコードのToken Admin
または指定された組織のOrg Admin
のみがコールできます。 -
AssociateTokenToAccount
- このメソッドは、代替可能トークンをアカウントに関連付けます。このメソッドは、チェーンコードの
Token Admin
または関連する組織のOrg Admin
のみがコールできます。 -
GetAccount
- このメソッドは、指定されたユーザーおよびトークンのアカウント詳細を返します。このメソッドは、
Token Admin
またはToken Auditor
、指定された組織のOrg Admin
またはOrg Auditor
、またはアカウントのAccountOwner
のみがコールできます。 -
GetAccountHistory
- このメソッドは、指定されたユーザーおよびトークンのアカウント履歴の詳細を返します。このメソッドは、チェーンコードの
Token Admin
またはアカウントのAccountOwner
のみがコールできます。 -
GetAccountOnHoldBalance
- このメソッドは、指定されたアカウントおよびトークンの現在の保留残高を返します。このメソッドは、
Token Admin
またはToken Auditor
、指定された組織のOrg Admin
またはOrg Auditor
、または指定されたアカウント所有者によってのみコールできます。 -
GetAllAccounts
- このメソッドは、すべてのアカウントのリストを返します。このメソッドは、チェーンコードの
Token Admin
またはToken Auditor
のみがコールできます。このメソッドでは、Berkeley DB SQLリッチ問合せが使用され、リモートOracle Blockchain Platformネットワークに接続されている場合にのみコールできます。 -
GetUserByAccountId
- このメソッドは、指定されたアカウントのユーザー詳細(
org_id
およびuser_id
)を返します。このメソッドは、Token Admin
またはToken Auditor
、あるいは指定された組織のOrg Admin
またはOrg Auditor
によってのみコールできます。 -
GetAccountBalance
- このメソッドは、指定されたアカウントおよびトークンの現在の残高を返します。このメソッドは、
Token Admin
またはToken Auditor
、指定された組織のOrg Admin
またはOrg Auditor
、または指定されたアカウント所有者によってのみコールできます。 -
GetAllOrgAccounts
- このメソッドは、指定された組織に属するすべてのトークン・アカウントのリストを返します。このメソッドは、
Token Admin
またはToken Auditor
、あるいは指定された組織のOrg Admin
またはOrg Auditor
によってのみコールできます。
ロール管理のメソッド
-
AddRole
- このメソッドは、指定されたユーザーおよびトークンにロールを追加します。このメソッドは、チェーンコードの
Token Admin
または指定されたロールも持つ指定された組織のOrg Admin
のみがコールできます。 -
RemoveRole
- このメソッドは、指定されたユーザーおよびトークンからロールを削除します。このメソッドは、チェーンコードの
Token Admin
または指定されたロールも持つ指定された組織のOrg Admin
のみがコールできます。 -
GetAccountsByRole
- このメソッドは、指定されたロールおよびトークンのすべてのアカウントIDのリストを返します。このメソッドは、チェーンコードの
Token Admin
のみがコールできます。 -
GetAccountsByUser
- このメソッドは、指定された組織IDとユーザーIDのすべてのアカウントIDのリストを返します。このメソッドは、チェーンコードの
Token Admin
、指定された組織のOrg Admin
、またはパラメータで指定されたAccount Owner
のみがコールできます。 -
GetUsersByRole
- このメソッドは、指定されたロールおよびトークンのすべてのユーザーのリストを返します。このメソッドは、チェーンコードの
Token Admin
またはパラメータで指定されたAccount Owner
のみがコールできます。 -
IsInRole
- このメソッドは、ユーザーとトークンに指定したロールがあるかどうかを示すブール値を返します。このメソッドは、チェーンコードの
Token Admin
、指定された組織のOrg Admin
またはアカウントのAccountOwner
のみがコールできます。 -
GetOrgAccountsByRole
- このメソッドは、指定された組織内の指定されたロールを持つすべてのアカウントに関する情報を返します。このメソッドは、チェーンコードの
Token Admin
または指定された組織のOrg Admin
のみがコールできます。 -
GetOrgUsersByRole
- このメソッドは、指定された組織内の指定されたロールを持つすべてのユーザーに関する情報を返します。このメソッドは、チェーンコードの
Token Admin
または指定された組織のOrg Admin
のみがコールできます。
-
AddRole
- このメソッドは、指定されたユーザーおよびトークンにロールを追加します。このメソッドは、チェーンコードの
Token Admin
または指定されたロールも持つ指定された組織のOrg Admin
のみがコールできます。 -
RemoveRole
- このメソッドは、指定されたユーザーおよびトークンからロールを削除します。このメソッドは、チェーンコードの
Token Admin
または指定されたロールも持つ指定された組織のOrg Admin
のみがコールできます。 -
GetAccountsByRole
- このメソッドは、指定されたロールおよびトークンのすべてのアカウントIDのリストを返します。このメソッドは、
Token Admin
またはToken Auditor
のみがコールできます。 -
GetAccountsByUser
- このメソッドは、指定された組織IDとユーザーIDのすべてのアカウントIDのリストを返します。このメソッドは、指定された組織の
Token Admin
、Token Auditor
、Org Admin
またはOrg Auditor
、またはパラメータで指定されたAccount Owner
のみがコールできます。 -
GetUsersByRole
- このメソッドは、指定されたロールおよびトークンのすべてのユーザーのリストを返します。このメソッドは、
Token Admin
またはToken Auditor
のみがコールできます。 -
IsInRole
- このメソッドは、ユーザーとトークンに指定したロールがあるかどうかを示すブール値を返します。このメソッドは、
Token Admin
またはToken Auditor
、指定された組織のOrg Admin
またはOrg Auditor
、または指定されたアカウント所有者によってのみコールできます。 -
GetOrgAccountsByRole
- このメソッドは、指定された組織内の指定されたロールを持つすべてのアカウントに関する情報を返します。このメソッドは、
Token Admin
、Token Auditor
、Org Admin
またはOrg Auditor
のみがコールできます。 -
GetOrgUsersByRole
- このメソッドは、指定された組織内の指定されたロールを持つすべてのユーザーに関する情報を返します。このメソッドは、
Token Admin
またはToken Auditor
、あるいは指定された組織のOrg Admin
またはOrg Auditor
によってのみコールできます。
トランザクション履歴管理のメソッド
-
GetAccountTransactionHistory
- このメソッドは、指定されたユーザーおよびトークンのアカウント・トランザクション履歴詳細の配列を返します。このメソッドは、チェーンコードの
Token Admin
、指定された組織のOrg Admin
またはアカウントのAccountOwner
のみがコールできます。 -
GetAccountTransactionHistoryWithFilters
- このメソッドは、指定されたユーザーおよびトークンのアカウント・トランザクション履歴詳細の配列を返します。このメソッドは、チェーンコードの
Token Admin
、指定された組織のOrg Admin
またはアカウントのAccountOwner
のみがコールできます。このメソッドは、リモートOracle Blockchain Platformネットワークに接続されている場合にのみコールできます。 -
GetSubTransactionsById
- このメソッドは、指定されたトランザクションのサブトランザクション履歴詳細の配列を返します。
-
GetSubTransactionsByIdWithFilters
- このメソッドは、指定されたトランザクションのサブトランザクション履歴詳細の配列を返します。
-
GetTransactionById
- このメソッドは、
Transaction
アセットの履歴を返します。 -
DeleteHistoricalTransactions
- このメソッドは、状態データベースから古いトランザクションを削除します。
-
GetAccountTransactionHistoryWithFiltersFromRichHistDB
func (t *Controller) GetAccountTransactionHistoryWithFiltersFromRichHistDB(token_id string, org_id string, user_id string, custom_endPoint string, bearer_token string, filters ...account.AccountHistoryFilters) (interface{}, error) { account_id, err := t.Ctx.Account.GenerateAccountId(token_id, org_id, user_id) if err != nil { return nil, err } auth, err := t.Ctx.Auth.CheckAuthorization("Account.GetAccountTransactionHistoryWithFilters", "TOKEN", map[string]string{"account_id": account_id}) if err != nil && !auth { return nil, fmt.Errorf("error in authorizing the caller %s", err.Error()) } // sample format of filter: []string{"3", "", "2022-01-16T15:16:36+00:00", "2022-01-17T15:16:36+00:00"} transactionArray, err := t.Ctx.Account.GetAccountTransactionHistoryWithFiltersFromRichHistDB(account_id, org_id, user_id, custom_endPoint, bearer_token, filters...) return transactionArray, err }
-
GetAccountTransactionHistory
- このメソッドは、指定されたユーザーおよびトークンのアカウント・トランザクション履歴詳細の配列を返します。このメソッドは、指定された組織の
Token Admin
またはToken Auditor
、Org Admin
またはOrg Auditor
、または指定されたアカウント所有者によってのみコールできます。 -
GetAccountTransactionHistoryWithFilters
- このメソッドは、指定されたユーザーおよびトークンのアカウント・トランザクション履歴詳細のフィルタされた配列を返します。このメソッドは、指定された組織の
Token Admin
またはToken Auditor
、Org Admin
またはOrg Auditor
、または指定されたアカウント所有者によってのみコールできます。 -
GetSubTransactionsById
- このメソッドは、指定されたトランザクションのサブトランザクション履歴詳細の配列を返します。このメソッドは、トランザクションをコールした
Token Admin
、Token Auditor
またはAccountOwner
によってのみコールできます。 -
GetSubTransactionsByIdWithFilters
- このメソッドは、指定されたトランザクションのサブトランザクション履歴詳細の配列を返します。
-
GetTransactionById
- このメソッドは、
Transaction
アセットの履歴を返します。このメソッドは、指定された組織のToken Admin
またはToken Auditor
、Org Admin
またはOrg Auditor
、またはトランザクション参加者(送信者、受信者、公証人)によってのみコールできます。 -
DeleteHistoricalTransactions
- このメソッドは、状態データベースから古いトランザクションを削除します。
トークン動作管理のメソッド- ミント可能動作
-
IssueTokens
- このメソッドはトークンをミントし、その後、メソッドのコール元がそれらのトークンを所有します。コール元には、アカウントとミンターのロールが必要です。ミント可能なトークンの数は、仕様ファイルの
mintable
動作のmax_mint_quantity
プロパティによって制限されます。max_mint_quantity
プロパティを指定しない場合、無制限の数のトークンをミントできます。数量は、仕様ファイルのdivisible
動作のdecimal
パラメータで指定された10進数値内にする必要があります。このメソッドは、ミンター・ロールを持つアカウントのAccountOwner
のみがコールできます。 -
GetTotalMintedTokens
- このメソッドは、指定されたトークンのミントされたトークンの合計数を返します。このメソッドは、チェーンコードの
Token Admin
またはOrg Admin
のみがコールできます。 -
GetNetTokens
- このメソッドは、指定されたトークンに対してシステムで使用可能なトークンの合計正味数を返します。正味トークン合計は、トークンのバーン後に残っているトークンの量です。等式では、正味トークン = ミントされたトークンの合計 - バーンされたトークンの合計です。トークンがバーンされていない場合、正味トークン数は、ミントされたトークンの合計と等しくなります。このメソッドは、チェーンコードの
Token Admin
またはOrg Admin
のみがコールできます。
-
RequestMint
- このメソッドは、指定された量のトークンを作成するために、ミニター公証書にリクエストを送信するためにミニターから呼び出すことができます。
-
ApproveMint
- このメソッドは、ミント・リクエストを承認するためにミニター公証人によってコールできます。
-
RejectMint
- このメソッドは、ミント・リクエストを拒否するためにミニター公証人によってコールできます。
-
IssueTokens
- このメソッドはトークンをミントし、その後、メソッドのコール元がそれらのトークンを所有します。
-
GetTotalMintedTokens
- このメソッドは、指定されたトークンのミントされたトークンの合計数を返します。このメソッドは、
Token Admin
、Token Auditor
、Org Admin
またはOrg Auditor
のみがコールできます。 -
GetNetTokens
- このメソッドは、指定されたトークンに対してシステムで使用可能なトークンの合計正味数を返します。正味トークン合計は、トークンのバーン後に残っているトークンの量です。等式では、正味トークン = ミントされたトークンの合計 - バーンされたトークンの合計です。トークンがバーンされていない場合、正味トークン数は、ミントされたトークンの合計と等しくなります。このメソッドは、
Token Admin
、Token Auditor
、Org Admin
またはOrg Auditor
のみがコールできます。
トークン動作管理のメソッド- 転送可能動作
-
TransferTokens
- このメソッドは、トークンをコール元から指定されたアカウントに転送します。メソッドのコール元にはアカウントが必要です。数量は、仕様ファイルの
divisible
動作のdecimal
パラメータで指定された10進数値内にする必要があります。このメソッドは、アカウントのAccountOwner
のみがコールできます。 -
BulkTransferTokens
- このメソッドは、トークンを呼出し元アカウントから
flow
オブジェクトで指定されたアカウントに一括で転送します。The quantities must be within the decimal values specified by thedecimal
parameter of thedivisible
behavior in the specification file.The caller of this method must have an account already created.このメソッドは、アカウントのAccountOwner
のみがコールできます。
-
TransferTokens
- このメソッドは、トークンをコール元から指定されたアカウントに転送します。
-
BulkTransferTokens
- このメソッドは、トークンを呼出し元アカウントから
flow
オブジェクトで指定されたアカウントに一括で転送します。The quantities must be within the decimal values specified by thedecimal
parameter of thedivisible
behavior in the specification file.The caller of this method must have an account already created.このメソッドは、アカウントのAccountOwner
のみがコールできます。
トークン動作管理メソッド- 保留可能動作
-
HoldTokens
- このメソッドは、
to_account_id
アカウントを持つトークンの所有者のかわりに保留を作成します。保留の完了または解除を担当する公証人アカウントが指定されます。保留が作成されると、支払者から指定されたトークン残高が保留になります。保留残高は、保留が完了または解除されるまで転送できません。このメソッドのコール元には、すでにアカウントが作成されている必要があります。このメソッドは、アカウントのAccountOwner
のみがコールできます。 -
ExecuteHoldTokens
- このメソッドはトークンの保留を完了します。トークン所有者が以前に保留にした数量のトークンが受信者に転送されます。
quantity
値が実際の保留値より小さい場合、残りはトークンの元の所有者が再度使用できます。このメソッドは、notary
ロールを持つAccountOwner
IDのみがコールできます。保留は公証人のみが完了できます。 -
ReleaseHoldTokens
- このメソッドは、トークンの保留を解除します。転送は行われず、すべての保留トークンは元の所有者が再度使用できます。このメソッドは、指定された期限内は
notary
ロールを持つAccount Owner
IDが、指定された期限後は支払者、受取人または公証人がコールできます。 -
GetOnHoldIds
- このメソッドは、指定されたアカウントのすべての保留IDのリストを返します。このメソッドは、チェーンコードの
Token Admin
、指定された組織のOrg Admin
またはアカウントのAccount Owner
がコールできます。 -
GetOnHoldDetailsWithOperationId
- このメソッドは、指定された操作IDおよびトークンの保留トランザクション詳細を返します。このメソッドは、だれでも呼び出すことができます。
-
GetOnHoldBalanceWithOperationId
- このメソッドは、指定された操作IDおよびトークンの保留残高を返します。このメソッドは、だれでも呼び出すことができます。
-
HoldTokens
- このメソッドは、
to_account_id
アカウントを持つトークンの所有者のかわりに保留を作成します。 -
ExecuteHoldTokens
- このメソッドはトークンの保留を完了します。トークン所有者が以前に保留にした数量のトークンが受信者に転送されます。
quantity
値が実際の保留値より小さい場合、残りはトークンの元の所有者が再度使用できます。このメソッドは、notary
ロールを持つAccountOwner
IDのみがコールできます。保留は公証人のみが完了できます。 -
ReleaseHoldTokens
- このメソッドは、トークンの保留を解除します。転送は行われず、すべての保留トークンは元の所有者が再度使用できます。このメソッドは、指定された期限内は
notary
ロールを持つAccount Owner
IDが、指定された期限後は支払者、受取人または公証人がコールできます。 -
GetOnHoldIds
- このメソッドは、指定されたアカウントのすべての保留IDのリストを返します。このメソッドは、
Token Admin
またはToken Auditor
、指定された組織のOrg Admin
またはOrg Auditor
または指定されたアカウント所有者がコールできます。 -
GetOnHoldDetailsWithOperationId
- このメソッドは、指定された操作IDおよびトークンの保留トランザクション詳細を返します。このメソッドは、
Token Admin
、Token Auditor
またはトランザクション参加者(送信者、受信者、公証人)のみがコールできます。 -
GetOnHoldBalanceWithOperationId
- このメソッドは、指定された操作IDおよびトークンの保留残高を返します。このメソッドは、
Token Admin
、Token Auditor
またはトランザクション参加者(送信者、受信者、公証人)のみがコールできます。
トークン動作管理のメソッド- バーン可能動作
-
RequestBurn
- このメソッドは、バーナーからコールして、指定した量のトークンを破棄するリクエストをバーナー公証書に送信できます。このトークンは、使用可能な残高以下である必要があります。バーン・リクエストが開始されると、指定された金額が使用可能な残高から即座に差し引かれ、
onhold_burn_balance
フィールドに追加されます。リクエストが承認されると、トークンは書き込まれます。リクエストが拒否された場合、トークンはonhold_burn_balance
フィールドから使用可能な残高に返されます。 -
ApproveBurn
- このメソッドは、書き込み要求を承認するためにバーナー公証書によって呼び出すことができます。
-
RejectBurn
- このメソッドは、書き込み要求を拒否するためにバーナー公証書によって呼び出すことができます。
-
GetAccountOnHoldBurnBalance
- このメソッドは、指定されたユーザーの保留バーン・バランスを返します。このメソッドは、
Token Admin
、Token Auditor
、Org Admin
、Org Auditor
またはアカウント所有者によってのみコールできます。 -
BurnTokens
- このメソッドは、トランザクション・コール元のアカウントからトークンを非アクティブ化またはバーンします。
カスタム・メソッド
トークンSDKメソッドを使用して、ビジネス・アプリケーションのカスタム・メソッドを記述できます。
トークンSDKメソッドを使用する場合は、必ず戻り値を追跡してください。また、二重支出を回避するために、状態データベース内の同じキーと値のペアに作用する複数の非同期関数を組み合せないでください。かわりに、BulkTransferTokens
メソッドを使用して、1つのメソッドで複数の転送を行います。
次の例は、カスタム・メソッドでトークンSDKメソッドを使用する方法を示しています。BuyTicket
メソッドがコールされると、20個のトークンがコール元のアカウントから販売者のアカウントに転送され、転送のトランザクション・メッセージが返されます。
func (t *Controller) BuyTicket(TokenId string, SellerOrgId string, SellerUserId string) (interface{}, error){
token, err := t.Ctx.Token.Get(TokenId)
if err != nil {
return nil, err
}
/**
* The following method t.Ctx.Account.GenerateAccountId(TokenId, SellerOrgId, SellerUserId) generates account id of the seller
*/
sellerAccountId, err := t.Ctx.Account.GenerateAccountId(TokenId, SellerOrgId, SellerUserId)
if err != nil {
return nil, err
}
/**
* The following method t.Ctx.Token.Transfer(sellerAccountId, 20, token) transfers the quantity 20 from caller's
* account & to seller's account.
*/
transaction, err := t.Ctx.Token.Transfer(sellerAccountId, 20, token)
if err != nil {
return nil, err
}
return transaction, nil
}
トークンSDKメソッド
アクセス制御管理のメソッド
Token Admin
、Org Admin
またはAccountOwner
のみがコールできます。この機能を使用すると、目的のユーザーのみが操作を実行するようにできます。認可されていないアクセスではエラーが発生します。アクセス制御機能を使用するには、../lib/auth
モジュールからAuthorization
クラスをインポートします。import { Authorization } from '../lib/auth';
-
AddAdmin
- このメソッドは、トークン・チェーンコードの
Token Admin
としてユーザーを追加します。 -
RemoveAdmin
- このメソッドは、トークン・チェーンコードの
Token Admin
であるユーザーを削除します。 -
IsUserTokenAdmin
- このメソッドは、関数のコール元が
Token Admin
の場合、ブール値true
を返します。それ以外の場合、このメソッドはfalse
を返します。 -
GetAllAdmins
- このメソッドは、トークン・チェーンコードの
Token Admin
であるすべてのユーザーのリストを返します。 -
GetAllAdminUsers
- このメソッドは、トークン・チェーンコードの
Token Admin
であるすべてのユーザーのリストを返します。 -
CheckAuthorization
- このメソッドを使用して、チェーンコードにアクセス制御を追加します。自動生成されたトークン・メソッドの多くはアクセス制御を使用します。SDKレシーバとアクセス制御があるメソッドの間のマッピングは、
oChainUtil.go
ファイルに記述されています。独自のアクセス制御を使用したり、アクセス制御を無効にするには、自動生成されたコントローラ・メソッドおよびカスタム・メソッドからアクセス制御コードを削除します。var t TokenAccess var r RoleAccess var a AccountAccess var as AccountStatusAccess var h HoldAccess var ad AdminAccess var trx TransactionAccess var tc TokenConversionAccess var auth AuthAccess auth.IsTokenAdmin = []string{"Admin", "MultipleAccountOwner"} trx.DeleteHistoricalTransactions = []string{"Admin"} ad.AddAdmin = []string{"Admin"} ad.RemoveAdmin = []string{"Admin"} ad.GetAllAdmins = []string{"Admin", "OrgAdmin"} ad.AddOrgAdmin = []string{"Admin", "OrgAdminOrgIdCheck"} ad.RemoveOrgAdmin = []string{"Admin", "OrgAdminOrgIdCheck"} ad.GetOrgAdmins = []string{"Admin", "OrgAdmin"} ad.IsTokenAdmin = []string{"Admin", "MultipleAccountOwner", "OrgAdmin"} t.Save = []string{"Admin"} t.GetAllTokens = []string{"Admin", "OrgAdmin"} t.Update = []string{"Admin"} t.GetTokenDecimals = []string{"Admin", "OrgAdmin"} t.GetTokensByName = []string{"Admin", "OrgAdmin"} t.AddRoleMember = []string{"Admin", "OrgAdminRoleCheck"} t.RemoveRoleMember = []string{"Admin", "OrgAdminRoleCheck"} t.IsInRole = []string{"Admin", "OrgAdminAccountIdCheck", "AccountOwner"} t.GetTotalMintedTokens = []string{"Admin", "OrgAdmin"} t.GetNetTokens = []string{"Admin", "OrgAdmin"} t.Get = []string{"Admin", "OrgAdmin"} t.GetTokenHistory = []string{"Admin", "OrgAdmin"} a.CreateAccount = []string{"Admin", "OrgAdminOrgIdCheck"} a.AssociateToken = []string{"Admin", "OrgAdminAccountIdCheck"} a.GetAllAccounts = []string{"Admin"} a.GetAllOrgAccounts = []string{"Admin", "OrgAdminOrgIdCheck"} a.GetAccount = []string{"Admin", "OrgAdminAccountIdCheck", "AccountOwner"} a.History = []string{"Admin", "AccountOwner"} a.GetAccountTransactionHistory = []string{"Admin", "OrgAdminAccountIdCheck", "AccountOwner"} a.GetAccountTransactionHistoryWithFilters = []string{"Admin", "OrgAdminAccountIdCheck", "AccountOwner"} a.GetSubTransactionsById = []string{"Admin", "TransactionInvoker"} a.GetSubTransactionsByIdWithFilters = []string{"Admin", "TransactionInvoker"} a.GetAccountBalance = []string{"Admin", "OrgAdminAccountIdCheck", "AccountOwner"} a.GetAccountOnHoldBalance = []string{"Admin", "OrgAdminAccountIdCheck", "AccountOwner"} a.GetOnHoldIds = []string{"Admin", "OrgAdminAccountIdCheck", "AccountOwner"} a.GetAccountsByUser = []string{"Admin", "OrgAdminOrgIdCheck", "MultipleAccountOwner"} as.Get = []string{"Admin", "OrgAdminAccountIdCheck", "AccountOwner"} as.ActivateAccount = []string{"Admin", "OrgAdminOrgIdCheck"} as.SuspendAccount = []string{"Admin", "OrgAdminOrgIdCheck"} as.DeleteAccount = []string{"Admin", "OrgAdminOrgIdCheck"} r.GetAccountsByRole = []string{"Admin"} r.GetUsersByRole = []string{"Admin"} r.GetOrgAccountsByRole = []string{"Admin", "OrgAdminOrgIdCheck"} r.GetOrgUsersByRole = []string{"Admin", "OrgAdminOrgIdCheck"} tc.InitializeExchangePoolUser = []string{"Admin"} tc.AddConversionRate = []string{"Admin"} tc.UpdateConversionRate = []string{"Admin"} tc.GetConversionRate = []string{"Admin", "OrgAdmin", "AnyAccountOwner"} tc.GetConversionRateHistory = []string{"Admin", "OrgAdmin", "AnyAccountOwner"} tc.TokenConversion = []string{"Admin", "AnyAccountOwner"} tc.GetExchangePoolUser = []string{"Admin"}
-
AddOrgAdmin
- このメソッドは、ユーザーを組織の
Org Admin
として追加します。 -
RemoveOrgAdmin
- このメソッドは、組織の
Org Admin
であるユーザーを削除します。 -
GetOrgAdmins
- このメソッドは、組織の
Org Admin
であるすべてのユーザーのリストを返します。
-
AddAdmin
- このメソッドは、トークン・チェーンコードの
Token Admin
としてユーザーを追加します。 -
RemoveAdmin
- このメソッドは、トークン・チェーンコードの
Token Admin
であるユーザーを削除します。 -
IsUserTokenAdmin
- このメソッドは、関数のコール元が
Token Admin
の場合、ブール値true
を返します。それ以外の場合、このメソッドはfalse
を返します。 -
GetAllAdmins
- このメソッドは、トークン・チェーンコードの
Token Admin
であるすべてのユーザーのリストを返します。 -
GetAllAdminUsers
- このメソッドは、トークン・チェーンコードの
Token Admin
であるすべてのユーザーのリストを返します。 -
CheckAuthorization
- このメソッドを使用して、チェーンコードにアクセス制御を追加します。自動生成されたトークン・メソッドの多くはアクセス制御を使用します。SDKレシーバとアクセス制御があるメソッドの間のマッピングは、
oChainUtil.go
ファイルに記述されています。独自のアクセス制御を使用したり、アクセス制御を無効にするには、自動生成されたコントローラ・メソッドおよびカスタム・メソッドからアクセス制御コードを削除します。var t TokenAccess var r RoleAccess var a AccountAccess var as AccountStatusAccess var h HoldAccess var ad AdminAccess var trx TransactionAccess var tc TokenConversionAccess var auth AuthAccess auth.IsTokenAdmin = []string{"Admin", "MultipleAccountOwner"} trx.DeleteHistoricalTransactions = []string{"Admin"} ad.AddAdmin = []string{"Admin"} ad.RemoveAdmin = []string{"Admin"} ad.GetAllAdmins = []string{"Admin", "OrgAdmin"} ad.AddOrgAdmin = []string{"Admin", "OrgAdminOrgIdCheck"} ad.RemoveOrgAdmin = []string{"Admin", "OrgAdminOrgIdCheck"} ad.GetOrgAdmins = []string{"Admin", "OrgAdmin"} ad.IsTokenAdmin = []string{"Admin", "MultipleAccountOwner", "OrgAdmin"} t.Save = []string{"Admin"} t.GetAllTokens = []string{"Admin", "OrgAdmin"} t.Update = []string{"Admin"} t.GetTokenDecimals = []string{"Admin", "OrgAdmin"} t.GetTokensByName = []string{"Admin", "OrgAdmin"} t.AddRoleMember = []string{"Admin", "OrgAdminRoleCheck"} t.RemoveRoleMember = []string{"Admin", "OrgAdminRoleCheck"} t.IsInRole = []string{"Admin", "OrgAdminAccountIdCheck", "AccountOwner"} t.GetTotalMintedTokens = []string{"Admin", "OrgAdmin"} t.GetNetTokens = []string{"Admin", "OrgAdmin"} t.Get = []string{"Admin", "OrgAdmin"} t.GetTokenHistory = []string{"Admin", "OrgAdmin"} a.CreateAccount = []string{"Admin", "OrgAdminOrgIdCheck"} a.AssociateToken = []string{"Admin", "OrgAdminAccountIdCheck"} a.GetAllAccounts = []string{"Admin"} a.GetAllOrgAccounts = []string{"Admin", "OrgAdminOrgIdCheck"} a.GetAccount = []string{"Admin", "OrgAdminAccountIdCheck", "AccountOwner"} a.History = []string{"Admin", "AccountOwner"} a.GetAccountTransactionHistory = []string{"Admin", "OrgAdminAccountIdCheck", "AccountOwner"} a.GetAccountTransactionHistoryWithFilters = []string{"Admin", "OrgAdminAccountIdCheck", "AccountOwner"} a.GetSubTransactionsById = []string{"Admin", "TransactionInvoker"} a.GetSubTransactionsByIdWithFilters = []string{"Admin", "TransactionInvoker"} a.GetAccountBalance = []string{"Admin", "OrgAdminAccountIdCheck", "AccountOwner"} a.GetAccountOnHoldBalance = []string{"Admin", "OrgAdminAccountIdCheck", "AccountOwner"} a.GetOnHoldIds = []string{"Admin", "OrgAdminAccountIdCheck", "AccountOwner"} a.GetAccountsByUser = []string{"Admin", "OrgAdminOrgIdCheck", "MultipleAccountOwner"} as.Get = []string{"Admin", "OrgAdminAccountIdCheck", "AccountOwner"} as.ActivateAccount = []string{"Admin", "OrgAdminOrgIdCheck"} as.SuspendAccount = []string{"Admin", "OrgAdminOrgIdCheck"} as.DeleteAccount = []string{"Admin", "OrgAdminOrgIdCheck"} r.GetAccountsByRole = []string{"Admin"} r.GetUsersByRole = []string{"Admin"} r.GetOrgAccountsByRole = []string{"Admin", "OrgAdminOrgIdCheck"} r.GetOrgUsersByRole = []string{"Admin", "OrgAdminOrgIdCheck"} tc.InitializeExchangePoolUser = []string{"Admin"} tc.AddConversionRate = []string{"Admin"} tc.UpdateConversionRate = []string{"Admin"} tc.GetConversionRate = []string{"Admin", "OrgAdmin", "AnyAccountOwner"} tc.GetConversionRateHistory = []string{"Admin", "OrgAdmin", "AnyAccountOwner"} tc.TokenConversion = []string{"Admin", "AnyAccountOwner"} tc.GetExchangePoolUser = []string{"Admin"}
-
AddOrgAdmin
- このメソッドは、ユーザーを組織の
Org Admin
として追加します。 -
RemoveOrgAdmin
- このメソッドは、組織の
Org Admin
であるユーザーを削除します。 -
GetOrgAdmins
- このメソッドは、組織の
Org Admin
であるすべてのユーザーのリストを返します。 -
AddTokenAuditor
- このメソッドは、ユーザーをチェーンコードの
Token Auditor
として追加します。 -
RemoveTokenAuditor
- このメソッドは、チェーンコードの
Token Auditor
であるユーザーを削除します。 -
GetTokenAuditors
- このメソッドは、チェーンコードのすべての
Token Auditors
を返します。 -
AddOrgAuditor
- このメソッドは、チェーンコードの
Org Auditor
としてユーザーを追加します。 -
RemoveOrgAuditor
- このメソッドは、チェーンコードの
Org Auditor
としてユーザーを削除します。 -
GetOrgAuditors
- このメソッドは、チェーンコードのすべての
Org Auditors
を返します。
トークン構成管理のメソッド
-
Save
- このメソッドはトークンを作成し、そのプロパティを状態データベースに保存します。
-
Update
- このメソッドは、トークン・プロパティを更新します。トークン・アセットの作成後は、
token_desc
値とそのカスタム・プロパティのみを更新できます。 -
GetTokenDecimals
- このメソッドは、フラクショナル・トークンで使用可能な小数点以下の桁数を返します。
divisible
動作が指定されていない場合、デフォルト値は0です。 -
Get
- このメソッドは、状態データベースに存在する場合、トークン・オブジェクトを返します。このメソッドは、トークン・チェーンコードの
Token Admin
のみがコールできます。 -
History
- このメソッドは、指定されたトークンIDのトークン履歴を返します。
-
GetAllTokens
- このメソッドは、状態データベースに保存されているすべてのトークン・アセットを返します。このメソッドでは、Berkeley DB SQLリッチ問合せが使用され、リモートOracle Blockchain Platformネットワークに接続されている場合にのみコールできます。
-
GetTokensByName
- このメソッドは、指定された名前のすべてのトークン・アセットを返します。このメソッドでは、Berkeley DB SQLリッチ問合せが使用され、リモートOracle Blockchain Platformネットワークに接続されている場合にのみコールできます。
-
IsTokenType
- このメソッドは、指定されたトークンIDのトークン・アセットが存在するかどうかをテストします。
-
GetByRange
- このメソッドは、fabricの
getStateByRange
メソッドを内部的にコールします。指定されたIDを持つアセットが台帳から返されても、このメソッドはアセットをコール元のアセット・タイプにキャストします。
アカウント管理のメソッド
-
GenerateAccountId
- このメソッドは、アカウントIDを返します。アカウントIDは英数字のセットです。アカウントIDは、
oaccount~<token asset name>~
が先頭に付き、インスタンス所有者およびインスタンスにログインしているユーザーのユーザー名または電子メールID (user_id
)、現在のネットワーク組織内のユーザーの会員サービス・プロバイダID (org_id
)および一意のトークンID (token_id
)のハッシュが続きます。 -
CreateAccount
- このメソッドは、指定されたユーザーおよびトークンのアカウントを作成します。いずれかの時点でトークンを保有するすべてのユーザーはアカウントを持っている必要があります。アカウントは、ユーザーの残高、保留残高およびトランザクション履歴を追跡します。アカウントIDは英数字のセットです。アカウントIDは、
oaccount~<token asset name>~
が先頭付き、インスタンス所有者およびインスタンスにログインしているユーザーのユーザー名または電子メールID (user_id
)と現在のネットワーク組織内のユーザーの会員サービス・プロバイダID (org_id
)のハッシュが続きます。このメソッドは、チェーンコードのToken Admin
のみがコールできます。 -
AssociateToken
- このメソッドは、代替可能トークンをアカウントに関連付けます。このメソッドは、チェーンコードの
Token Admin
のみがコールできます。 -
GetAccountWithStatus
- このメソッドは、指定されたアカウントのアカウントの詳細(アカウント・ステータスを含む)を返します。
-
GetAccount
- このメソッドは、指定されたアカウントのアカウントの詳細を返します。
-
GetAccountHistory
- このメソッドは、指定されたアカウントのアカウント履歴詳細の配列を返します。
-
GetAccountOnHoldBalance
- このメソッドは、指定されたアカウントの保留残高を返します。
-
GetAllAccounts
- このメソッドは、すべてのアカウントのリストを返します。このメソッドでは、Berkeley DB SQLリッチ問合せが使用され、リモートOracle Blockchain Platformネットワークに接続されている場合にのみコールできます。
-
GetUserByAccountId
- このメソッドは、指定されたアカウントのユーザー詳細を返します。
-
GetAccountBalance
- このメソッドは、指定されたアカウントのアカウント残高を返します。
-
GetAllOrgAccounts
- このメソッドは、指定された組織に属するすべてのトークン・アカウントのリストを返します。
ロール管理のメソッド
-
AddRoleMember
- このメソッドは、指定されたユーザーおよびトークンにロールを追加します。
-
RemoveRoleMember
- このメソッドは、指定されたユーザーおよびトークンからロールを削除します。
-
GetAccountsByRole
- このメソッドは、指定されたロールおよびトークンのすべてのアカウントのリストを返します。
-
GetUsersByRole
- このメソッドは、指定されたロールおよびトークンのすべてのユーザーのリストを返します。
-
IsInRole
- このメソッドは、ユーザーおよびトークンに指定されたロールがあるかどうかを示します。
-
GetOrgAccountsByRole
- このメソッドは、指定された組織内の指定されたロールを持つすべてのアカウントに関する情報を返します。
-
GetOrgUsersByRole
- このメソッドは、指定された組織内の指定されたロールを持つすべてのユーザーに関する情報を返します。
-
RoleCheck
- このメソッドは、指定されたアカウントIDがいずれかのロールのメンバーかどうかをチェックします。
トランザクション履歴管理のメソッド
-
GetAccountTransactionHistory
- このメソッドは、指定されたアカウントのトランザクション履歴詳細の配列を返します。
-
GetAccountTransactionHistoryWithFilters
- このメソッドは、指定されたトランザクションのトランザクション履歴詳細の配列を返します。このメソッドは、リモートOracle Blockchain Platformネットワークに接続されている場合にのみコールできます。
-
GetSubTransactionsById
- このメソッドは、指定されたトランザクションのトランザクション履歴詳細の配列を返します。
-
GetSubTransactionsByIdWithFilters
- このメソッドは、指定されたトランザクションのトランザクション履歴詳細の配列を返します。
-
GetTransactionById
- このメソッドは、
Transaction
アセットの履歴を返します。 -
DeleteHistoricalTransactions
- このメソッドは、状態データベースから古いトランザクションを削除します。
トークン動作管理のメソッド- ミント可能動作
-
Mint
- このメソッドはトークンをミントし、その後、メソッドのコール元がそれらのトークンを所有します。コール元には、アカウントとミンターのロールが必要です。ミント可能なトークンの数は、仕様ファイルの
mintable
動作のmax_mint_quantity
プロパティによって制限されます。max_mint_quantity
プロパティを指定しない場合、無制限の数のトークンをミントできます。数量は、仕様ファイルのdivisible
動作のdecimal
パラメータで指定された10進数値内にする必要があります。このメソッドは、ミンター・ロールを持つアカウントのAccountOwner
のみがコールできます。 -
GetTotalMintedTokens
- このメソッドは、ミントされたトークンの合計数を返します。
-
GetNetTokens
- このメソッドは、指定されたトークンに対してシステムで使用可能なトークンの正味数量を返します。正味トークンは、トークンのバーン後に残存するトークンの数量です。等式では、正味トークン = ミントされたトークンの合計 - バーンされたトークンの合計です。トークンがバーンされていない場合、正味トークン数は、ミントされたトークンの合計と等しくなります。
-
GetMaxMintQuantity
- このメソッドは、トークンの最大ミント可能量を返します。
max_mint_quantity
動作が指定されていない場合、デフォルト値は0で、任意の数のトークンをミントできます。
トークン動作管理のメソッド- 転送可能動作
-
Transfer
- このメソッドは、トークンをコール元から指定されたアカウントに転送します。メソッドのコール元にはアカウントが必要です。数量は、仕様ファイルの
divisible
動作のdecimal
パラメータで指定された10進数値内にする必要があります。このメソッドは、アカウントのAccountOwner
のみがコールできます。 -
BulkTransfer
- このメソッドは、トークンを呼出し元アカウントから
flow
オブジェクトで指定されたアカウントに一括で転送します。このメソッドのコール元には、すでにアカウントが作成されている必要があります。
トークン動作管理メソッド- 保留可能動作
-
Hold
- このメソッドは、
to_account_id
アカウントを持つトークンの所有者のかわりに保留を作成します。保留の完了または解除を担当する公証人アカウントが指定されます。保留が作成されると、支払者から指定されたトークン残高が保留になります。保留残高は、保留が完了または解除されるまで転送できません。このメソッドのコール元には、すでにアカウントが作成されている必要があります。 -
ExecuteHold
- このメソッドはトークンの保留を完了し、以前に保留にされていたトークンの指定数量を受信者に転送します。
quantity
値が実際の保留値より小さい場合、残りはトークンの元の所有者が再度使用できます。このメソッドは、notary
ロールを持つAccountOwner
IDのみがコールできます。 -
ReleaseHold
- このメソッドは、トークンの保留を解除します。転送は行われず、すべての保留トークンは元の所有者が再度使用できます。このメソッドは、指定された期限内は
notary
ロールを持つAccount Owner
IDが、指定された期限後は支払者、受取人または公証人がコールできます。 -
GetOnHoldIds
- このメソッドは、指定されたユーザーおよびトークンのすべての保留IDのリストを返します。
-
GetOnHoldDetailsWithOperationID
- このメソッドは、指定された操作IDおよびトークンの保留トランザクション詳細を返します。
-
GetOnHoldBalanceWithOperationID
- このメソッドは、指定された操作IDおよびトークンの保留残高を返します。
トークン動作管理のメソッド- バーン可能動作