トークン・タクソノミ・フレームワーク用のスキャフォールド済TypeScriptプロジェクト
ブロックチェーン・アプリケーション・ビルダーは、トークン仕様ファイルから入力を受け取り、完全に機能するスキャフォールド済チェーンコード・プロジェクトを生成します。
プロジェクトは、CRUDおよび非CRUDメソッドを含むトークン・ライフサイクル・クラスおよび関数を自動的に生成します。引数の検証、マーシャリング/アンマーシャリングおよび透過的永続性機能はすべて自動的にサポートされます。
トークンに直接関連しない、スキャフォールドされたプロジェクトおよびメソッドの詳細は、「スキャフォールド済TypeScriptチェーンコード・プロジェクト」を参照してください。
モデル
すべてのトークン化されたモデル・クラスはToken
クラスを拡張し、OchainModel
クラスを拡張します。Token
クラスは、../lib/token
からインポートされます。透過的永続性機能(または簡略化されたORM)は、OchainModel
クラスで取得されます。
import * as yup from 'yup';
import { Id, Mandatory, Validate, ReadOnly } from '../lib/decorators';
import { Token } from '../lib/token';
@Id('token_id')
export class Digicur extends Token<Digicur> {
public readonly assetType = 'otoken';
@Mandatory()
@Validate(yup.string().required().matches(/^[A-Za-z0-9][A-Za-z0-9_-]*$/).max(16))
public token_id: string;
@ReadOnly('digicur')
public token_name: string;
@Validate(yup.string().trim().max(256))
public token_desc: string;
@ReadOnly('fungible')
public token_type: string;
@ReadOnly(["divisible","mintable","transferable","burnable","holdable","roles"])
public behaviors: string[];
@ReadOnly({minter_role_name: "minter", burner_role_name: "burner", notary_role_name: "notary"})
public roles: object;
@ReadOnly({max_mint_quantity: 20000})
public mintable: object;
@ReadOnly({decimal: 1})
public divisible: object;
@Validate(yup.number())
public token_to_currency_ratio: number;
@Validate(yup.string())
public currency_representation: string;
}
コントローラ
メイン・コントローラ・クラスは、OchainController
クラスを拡張します。メインコントローラは1つのみです。
export class DigiCurrCCController extends OchainController{
クラス、関数またはファイルはいくつでも作成できますが、メイン・コントローラ・クラスで定義されたメソッドのみが呼出し可能です。その他のメソッドは非表示です。
トークンSDKメソッドを使用して、ビジネス・アプリケーションのカスタム・メソッドを記述できます。
自動生成されたトークン・メソッド
ブロックチェーン・アプリケーション・ビルダーは、トークンおよびトークン・ライフサイクルをサポートするメソッドを自動的に生成します。これらのメソッドを使用して、トークンの初期化、ロールとアカウントの管理、およびその他のトークン・ライフサイクル・タスクを追加コーディングなしで行えます。コントローラ・メソッドを呼び出すには、@Validator(...params)
デコレータが必要です。
アクセス制御管理のメソッド
-
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
のみがコールできます。このメソッドでは、Berkeley DB SQLリッチ問合せが使用され、リモートOracle Blockchain Platformネットワークに接続されている場合にのみコールできます。 -
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
のみがコールできます。このメソッドでは、Berkeley DB SQLリッチ問合せが使用され、リモートOracle Blockchain Platformネットワークに接続されている場合にのみコールできます。 -
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
、またはアカウントのAccountOwner
のみがコールできます。 -
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
、またはアカウントのAccountOwner
のみがコールできます。 -
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
のみがコールできます。 -
isInRole
- このメソッドは、ユーザーとトークンに指定したロールがあるかどうかを示すブール値を返します。このメソッドは、チェーンコードの
Token Admin
、アカウントのAccountOwner
または指定した組織のOrg Admin
のみがコールできます。 -
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
、アカウントのAccountOwner
、または指定された組織のOrg Admin
またはOrg Auditor
のみがコールできます。 -
getOrgAccountsByRole
- このメソッドは、指定された組織内の指定されたロールを持つすべてのアカウントに関する情報を返します。このメソッドは、
Token Admin
、Token Auditor
、Org Admin
またはOrg Auditor
のみがコールできます。 -
getOrgUsersByRole
- このメソッドは、指定された組織内の指定されたロールを持つすべてのユーザーに関する情報を返します。このメソッドは、指定された組織の
Org Admin
またはOrg Auditor
によって、Token Admin
またはToken Auditor
のみがコールできます。
トランザクション履歴管理のメソッド
-
getAccountTransactionHistory
- このメソッドは、指定されたユーザーおよびトークンのアカウント・トランザクション履歴詳細の配列を返します。このメソッドは、チェーンコードの
Token Admin
、指定された組織のOrg Admin
またはアカウントのAccountOwner
のみがコールできます。 -
getAccountTransactionHistoryWithFilters
- このメソッドは、指定されたユーザーおよびトークンのアカウント・トランザクション履歴詳細の配列を返します。このメソッドは、チェーンコードの
Token Admin
、指定された組織のOrg Admin
またはアカウントのAccountOwner
のみがコールできます。このメソッドは、リモートOracle Blockchain Platformネットワークに接続されている場合にのみコールできます。 -
getSubTransactionsById
- このメソッドは、指定されたユーザーおよびトークンのアカウント・トランザクション履歴詳細の配列を返します。このメソッドは、チェーンコードの
Token Admin
またはアカウントのAccountOwner
のみがコールできます。 -
getSubTransactionsByIdWithFilters
- このメソッドは、指定されたトランザクションのアカウント・サブトランザクション履歴詳細の配列を返します。
-
getTransactionById
- このメソッドは、
Transaction
アセットの履歴を返します。 -
deleteHistoricalTransactions
- このメソッドは、状態データベースから古いトランザクションを削除します。
-
getAccountTransactionHistoryWithFiltersFromRichHistDB
- リッチ履歴データベースにデータを同期し、チェーンコードAPIコールを使用してデータをフェッチできます。このメソッドは、リッチ履歴データベースからトランザクション履歴をフェッチします。この方法を使用する前に、Oracle Blockchain Platform Digital Assets EditionのOracle Database View Definitions for Wholesale CBDCの説明に従って、Oracle REST Data Services (ORDS)およびOAuthを有効にしてOracle Autonomous Databaseを実行する必要があります。
-
getAccountTransactionHistory
- このメソッドは、指定されたユーザーおよびトークンのアカウント・トランザクション履歴詳細の配列を返します。このメソッドは、
Token Admin
またはToken Auditor
、指定された組織のOrg Admin
またはOrg Auditor
、またはアカウントのAccountOwner
のみがコールできます。 -
getAccountTransactionHistoryWithFilters
- このメソッドは、指定されたユーザーおよびトークンのアカウント・トランザクション履歴詳細のフィルタされた配列を返します。このメソッドは、
Token Admin
またはToken Auditor
、指定された組織のOrg Admin
またはOrg Auditor
、またはアカウントのAccountOwner
のみがコールできます。 -
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
値が実際の保留値より小さい場合、残りはトークンの元の所有者が再度使用できます。このメソッドは、指定された操作IDのnotary
ロールを持つAccountOwner
IDのみがコールできます。保留は公証人のみが完了できます。 -
releaseHoldTokens
- このメソッドは、トークンの保留を解除します。転送は行われず、すべての保留トークンは元の所有者が再度使用できます。このメソッドは、指定された時間制限内は
notary
ロールを持つAccountOwner
IDが、指定された時間制限後は支払者、受取人または公証員がコールできます。 -
getOnHoldIds
- このメソッドは、指定されたアカウントのすべての保留IDのリストを返します。このメソッドは、チェーンコードの
Token Admin
、指定された組織のOrg Admin
またはアカウントのAccountOwner
がコールできます。 -
getOnHoldDetailsWithOperationId
- このメソッドは、指定された操作IDおよびトークンの保留トランザクション詳細を返します。このメソッドは、だれでも呼び出すことができます。
-
getOnHoldBalanceWithOperationId
- このメソッドは、指定された操作IDおよびトークンの保留残高を返します。このメソッドは、だれでも呼び出すことができます。
-
holdTokens
- このメソッドは、
to_account_id
アカウントを持つトークンの所有者のかわりに保留を作成します。 -
executeHoldTokens
- このメソッドはトークンの保留を完了します。トークン所有者が以前に保留にした数量のトークンが受信者に転送されます。
quantity
値が実際の保留値より小さい場合、残りはトークンの元の所有者が再度使用できます。このメソッドは、指定された操作IDのnotary
ロールを持つAccountOwner
IDのみがコールできます。保留は公証人のみが完了できます。 -
releaseHoldTokens
- このメソッドは、トークンの保留を解除します。転送は行われず、すべての保留トークンは元の所有者が再度使用できます。このメソッドは、指定された時間制限内は
notary
ロールを持つAccountOwner
IDが、指定された時間制限後は支払者、受取人または公証員がコールできます。 -
getOnHoldIds
- このメソッドは、指定されたアカウントのすべての保留IDのリストを返します。このメソッドは、チェーンコードの
Token Admin
またはToken Auditor
、指定された組織のOrg Admin
またはOrg Auditor
、またはアカウントのAccountOwner
によってコールできます。 -
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メソッドを使用して、ビジネス・アプリケーションのカスタム・メソッドを記述できます。
二重支出を回避するために、状態データベース内の同じキーと値のペアに作用する複数の非同期関数を組み合せないでください。かわりに、bulkTransferTokens
メソッドを使用して、1つのメソッドで複数の転送を行います。
次の例は、カスタム・メソッドでトークンSDKメソッドを使用する方法を示しています。buyTicket
メソッドがコールされると、20個のトークンがコール元のアカウントから販売者のアカウントに転送され、転送のトランザクション・メッセージが返されます。
@Validator(yup.string(), yup.string(), yup.string(), yup.string(), yup.string())
public async buyTicket(token_id: string, seller_org_id: string, seller_user_id: string) {
const token = await this.getTokenObject(token_id);
/**
* The following method this.Ctx.Account.generateAccountId(token_id, seller_org_id, seller_user_id) generates account id of the seller.
*/
const seller_account_id = await this.Ctx.Account.generateAccountId(token_id, seller_org_id, seller_user_id);
/**
* The following method this.Ctx.Token.transfer(seller_account_id, 20, token) transfers the quantity 20 from caller's
* account & to seller's account.
*/
const transaction = await this.Ctx.Token.transfer(seller_account_id, 20, token);
return transaction;
}
カスタム・メソッドで複数のトークンSDKメソッドを使用する場合は、状態データベースの同じキーと値のペアに影響するメソッドを使用しないでください。次の例は、複数の転送を行う誤った方法を示しています:
@Validator(yup.string(), yup.string(), yup.string(), yup.string(), yup.string())
public async sendTokens(token_id: string, user1_org_id: string, user1_user_id: string, user2_org_id: string, user2_user_id: string) {
const token = await this.getTokenObject(token_id);
const user1_account_id = await Account.generateAccountId(token_id, user1_org_id, user1_user_id);
const user2_account_id = await Account.generateAccountId(token_id, user2_org_id, user2_user_id);
await token.transfer(user1_account_id, 20);
await token.transfer(user2_account_id, 30);
}
かわりに、次のコード・スニペットに示すように、bulkTransferTokens
メソッドを使用して、コール元アカウントから複数の勘定科目に転送します。
bulkTransferTokens(token_id: string, flow: object[])
ノート:
状態データベースの同じキーと値のペアに影響を与える可能性がある複数のトークンSDKメソッドをカスタム・メソッドで使用する場合は、トークン・チェーンコードのMVCC最適化を有効にします。詳細は、「MVCCの最適化」を参照してください。トークン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
であるすべてのユーザーのリストを返します。 -
checkAuthorization
- このメソッドは、操作にアクセス制御チェックを追加するために使用します。特定のトークン・メソッドは、トークンの
Token Admin
またはAccountOwner
、または複数のアカウントを持つユーザーのMultipleAccountOwner
のみが実行できます。アクセス制御マッピングは、../lib/constant.ts
ファイルに記述されています。アクセス制御を変更するには、../lib/constant.ts
ファイルを編集します。独自のアクセス制御を使用したり、アクセス制御を無効にするには、自動生成されたコントローラ・メソッドおよびカスタム・メソッドからアクセス制御コードを削除します。export const TOKENACCESS = { ADMIN: { isUserTokenAdmin: ["Admin", "OrgAdmin"], addTokenAdmin: ["Admin"], removeTokenAdmin: ["Admin"], getAllAdmins: ["Admin", "OrgAdmin"], addOrgAdmin: ["Admin", "OrgAdminForOrgId"], removeOrgAdmin: ["Admin", "OrgAdminForOrgId"], getOrgAdmins: ["Admin", "OrgAdmin"], }, TOKEN: { save: ["Admin"], getAllTokens: ["Admin", "OrgAdmin"], get: ["Admin", "OrgAdmin"], update: ["Admin"], getDecimals: ["Admin", "OrgAdmin"], getTokensByName: ["Admin", "OrgAdmin"], addRoleMember: ["Admin", "OrgAdminRoleCheck"], removeRoleMember: ["Admin", "OrgAdminRoleCheck"], isInRole: ["Admin", "OrgAdminForAccountId", "AccountOwner"], getTotalMintedTokens: ["Admin", "OrgAdmin"], getNetTokens: ["Admin", "OrgAdmin"], getTokenHistory: ["Admin", "OrgAdmin"], }, ROLE: { getAccountsByRole: ["Admin"], getOrgAccountsByRole: ["Admin", "OrgAdminForOrgId"], getUsersByRole: ["Admin"], getOrgUsersByRole: ["Admin", "OrgAdminForOrgId"], }, TRANSACTION: { deleteTransactions: ["Admin"], },ACCOUNT: { createAccount: ["Admin", "OrgAdminForOrgId"], associateToken: ["Admin", "OrgAdminForAccountId"], getAllAccounts: ["Admin"], getAllOrgAccounts: ["Admin", "OrgAdminForOrgId"], getAccountsByUser: ["Admin", "OrgAdminForOrgId", "MultipleAccountOwner"], getAccount: ["Admin", "OrgAdminForAccountId", "AccountOwner"], history: ["Admin", "AccountOwner"], getAccountTransactionHistory: ["Admin", "OrgAdminForAccountId", "AccountOwner"], getAccountTransactionHistoryWithFilters: ["Admin", "OrgAdminForAccountId", "AccountOwner"], getSubTransactionsById: ["Admin", "TransactionInvoker"], getSubTransactionsByIdWithFilters: ["Admin", "TransactionInvoker"], getAccountBalance: ["Admin", "OrgAdminForAccountId", "AccountOwner"], getAccountOnHoldBalance: ["Admin", "OrgAdminForAccountId", "AccountOwner"], getOnHoldIds: ["Admin", "OrgAdminForAccountId", "AccountOwner"], getConversionHistory: ["Admin", "OrgAdminForAccountId", "AccountOwner"], }, ACCOUNT_STATUS: { get: ["Admin", "OrgAdminForAccountId", "AccountOwner"], history: ["Admin", "OrgAdminForAccountId", "AccountOwner"], activateAccount: ["Admin", "OrgAdminForOrgId"], suspendAccount: ["Admin", "OrgAdminForOrgId"], deleteAccount: ["Admin", "OrgAdminForOrgId"], }, TOKEN_CONVERSION: { initializeExchangePoolUser: ["Admin"], addConversionRate: ["Admin"], updateConversionRate: ["Admin"], getConversionRate: ["Admin", "OrgAdmin", "AnyAccountOwner"], getConversionRateHistory: ["Admin", "OrgAdmin", "AnyAccountOwner"], tokenConversion: ["Admin", "AnyAccountOwner"], getExchangePoolUser: ["Admin"], }, }
-
addOrgAdmin
- このメソッドは、ユーザーを組織の
Org Admin
として追加します。 -
removeOrgAdmin
- このメソッドは、組織の
Org Admin
であるユーザーを削除します。 -
getOrgAdmins
- このメソッドは、組織の
Org Admin
であるすべてのユーザーのリストを返します。
-
addAdmin
- このメソッドは、トークン・チェーンコードの
Token Admin
としてユーザーを追加します。 -
removeAdmin
- このメソッドは、トークン・チェーンコードの
Token Admin
であるユーザーを削除します。 -
isUserTokenAdmin
- このメソッドは、関数のコール元が
Token Admin
の場合、ブール値true
を返します。それ以外の場合、このメソッドはfalse
を返します。 -
getAllAdmins
- このメソッドは、トークン・チェーンコードの
Token Admin
であるすべてのユーザーのリストを返します。 -
checkAuthorization
- このメソッドは、操作にアクセス制御チェックを追加するために使用します。特定のトークン・メソッドは、トークンの
Token Admin
またはAccountOwner
、または複数のアカウントを持つユーザーのMultipleAccountOwner
のみが実行できます。アクセス制御マッピングは、../lib/constant.ts
ファイルに記述されています。アクセス制御を変更するには、../lib/constant.ts
ファイルを編集します。独自のアクセス制御を使用したり、アクセス制御を無効にするには、自動生成されたコントローラ・メソッドおよびカスタム・メソッドからアクセス制御コードを削除します。export const TOKENACCESS = { ADMIN: { isUserTokenAdmin: ["Admin", "OrgAdmin"], addTokenAdmin: ["Admin"], removeTokenAdmin: ["Admin"], getAllAdmins: ["Admin", "OrgAdmin"], addOrgAdmin: ["Admin", "OrgAdminForOrgId"], removeOrgAdmin: ["Admin", "OrgAdminForOrgId"], getOrgAdmins: ["Admin", "OrgAdmin"], }, TOKEN: { save: ["Admin"], getAllTokens: ["Admin", "OrgAdmin"], get: ["Admin", "OrgAdmin"], update: ["Admin"], getDecimals: ["Admin", "OrgAdmin"], getTokensByName: ["Admin", "OrgAdmin"], addRoleMember: ["Admin", "OrgAdminRoleCheck"], removeRoleMember: ["Admin", "OrgAdminRoleCheck"], isInRole: ["Admin", "OrgAdminForAccountId", "AccountOwner"], getTotalMintedTokens: ["Admin", "OrgAdmin"], getNetTokens: ["Admin", "OrgAdmin"], getTokenHistory: ["Admin", "OrgAdmin"], }, ROLE: { getAccountsByRole: ["Admin"], getOrgAccountsByRole: ["Admin", "OrgAdminForOrgId"], getUsersByRole: ["Admin"], getOrgUsersByRole: ["Admin", "OrgAdminForOrgId"], }, TRANSACTION: { deleteTransactions: ["Admin"], },ACCOUNT: { createAccount: ["Admin", "OrgAdminForOrgId"], associateToken: ["Admin", "OrgAdminForAccountId"], getAllAccounts: ["Admin"], getAllOrgAccounts: ["Admin", "OrgAdminForOrgId"], getAccountsByUser: ["Admin", "OrgAdminForOrgId", "MultipleAccountOwner"], getAccount: ["Admin", "OrgAdminForAccountId", "AccountOwner"], history: ["Admin", "AccountOwner"], getAccountTransactionHistory: ["Admin", "OrgAdminForAccountId", "AccountOwner"], getAccountTransactionHistoryWithFilters: ["Admin", "OrgAdminForAccountId", "AccountOwner"], getSubTransactionsById: ["Admin", "TransactionInvoker"], getSubTransactionsByIdWithFilters: ["Admin", "TransactionInvoker"], getAccountBalance: ["Admin", "OrgAdminForAccountId", "AccountOwner"], getAccountOnHoldBalance: ["Admin", "OrgAdminForAccountId", "AccountOwner"], getOnHoldIds: ["Admin", "OrgAdminForAccountId", "AccountOwner"], getConversionHistory: ["Admin", "OrgAdminForAccountId", "AccountOwner"], }, ACCOUNT_STATUS: { get: ["Admin", "OrgAdminForAccountId", "AccountOwner"], history: ["Admin", "OrgAdminForAccountId", "AccountOwner"], activateAccount: ["Admin", "OrgAdminForOrgId"], suspendAccount: ["Admin", "OrgAdminForOrgId"], deleteAccount: ["Admin", "OrgAdminForOrgId"], }, TOKEN_CONVERSION: { initializeExchangePoolUser: ["Admin"], addConversionRate: ["Admin"], updateConversionRate: ["Admin"], getConversionRate: ["Admin", "OrgAdmin", "AnyAccountOwner"], getConversionRateHistory: ["Admin", "OrgAdmin", "AnyAccountOwner"], tokenConversion: ["Admin", "AnyAccountOwner"], getExchangePoolUser: ["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
- このメソッドは、状態データベースに存在する場合、トークン・オブジェクトを返します。
-
history
- このメソッドは、指定されたトークンの履歴を返します。
-
getAllTokens
- このメソッドは、状態データベースに保存されたすべてのトークン・アセットを返します。このメソッドでは、Berkeley DB SQLリッチ問合せが使用され、リモートOracle Blockchain Platformネットワークに接続されている場合にのみコールできます。
-
getTokensByName
- このメソッドは、指定された名前のすべてのトークン・アセットを返します。このメソッドでは、Berkeley DB SQLリッチ問合せが使用され、リモートOracle Blockchain Platformネットワークに接続されている場合にのみコールできます。
-
isTokenType
- このメソッドは、指定されたIDのトークン・アセットが存在するかどうかを示します。
-
getByRange
- このメソッドは、fabricの
getStateByRange
メソッドを内部的にコールします。指定されたIDを持つアセットが台帳から返されても、このメソッドはアセットをコール元のアセット・タイプにキャストします。
アカウント管理のメソッド
-
getCallerAccountId
- このメソッドは、コール元のアカウント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
または指定された組織のOrg Admin
のみがコールできます。 -
associateTokenToAccount
- このメソッドは、代替可能トークンをアカウントに関連付けます。このメソッドは、チェーンコードの
Token Admin
または関連する組織のOrg Admin
のみがコールできます。 -
getAccountWithStatus
- このメソッドは、指定されたアカウントのアカウントの詳細(アカウント・ステータスを含む)を返します。
-
getAccount
- このメソッドは、指定されたアカウントのアカウントの詳細を返します。
-
history
- このメソッドは、指定されたアカウントのアカウント履歴詳細の配列を返します。
-
getAccountOnHoldBalance
- このメソッドは、指定されたアカウントの保留残高を返します。
-
getAllAccounts
- このメソッドは、すべてのアカウントのリストを返します。このメソッドでは、Berkeley DB SQLリッチ問合せが使用され、リモートOracle Blockchain Platformネットワークに接続されている場合にのみコールできます。
-
getUserByAccountId
- このメソッドは、指定されたアカウントのユーザー詳細を返します。
-
getAccountBalance
- このメソッドは、指定されたアカウントのアカウント残高を返します。
-
getAllOrgAccounts
- このメソッドは、指定された組織に属するすべてのトークン・アカウントのリストを返します。
ロール管理のメソッド
-
addRoleMember
- このメソッドは、指定されたユーザーおよびトークンにロールを追加します。
-
removeRoleMember
- このメソッドは、指定されたユーザーおよびトークンからロールを削除します。
-
getAccountsByRole
- このメソッドは、指定されたロールおよびトークンのすべてのアカウントのリストを返します。
-
getAccountsByUser
- このメソッドは、指定されたユーザーのすべてのアカウントIDのリストを返します。
-
getUsersByRole
- このメソッドは、指定されたロールおよびトークンのすべてのユーザーのリストを返します。
-
isInRole
- このメソッドは、ユーザーおよびトークンに指定されたロールがあるかどうかを示します。
-
getOrgAccountsByRole
- このメソッドは、指定された組織内の指定されたロールを持つすべてのアカウントに関する情報を返します。
-
getOrgUsersByRole
- このメソッドは、指定された組織内の指定されたロールを持つすべてのユーザーに関する情報を返します。
-
roleCheck
- このメソッドは、指定されたアカウントIDがいずれかのロールのメンバーかどうかをチェックします。
トランザクション履歴管理のメソッド
-
getAccountTransactionHistory
- このメソッドは、指定されたアカウントのトランザクション履歴詳細の配列を返します。
-
getAccountTransactionHistoryWithFilters
- このメソッドは、指定されたアカウントのトランザクション履歴詳細の配列を返します。このメソッドは、リモートOracle Blockchain Platformネットワークに接続されている場合にのみコールできます。
-
getSubTransactionHistory
- このメソッドは、指定されたトランザクションのトランザクション履歴詳細の配列を返します。
-
getSubTransactionHistoryWithFilters
- このメソッドは、指定されたトランザクションのサブトランザクション履歴詳細の配列を返します。
-
getTransactionById
- このメソッドは、
Transaction
アセットの履歴を返します。 -
deleteHistoricalTransactions
- このメソッドは、指定されたアカウントのトランザクション履歴詳細の配列を返します。
トークン動作の管理
../lib/token
モジュールからToken
クラスをインポートします。
import { Token } from '../lib/token';
トークン動作管理のメソッド- ミント可能動作
-
mint
- このメソッドはある数量のトークンをミントします。その後、メソッドのコール元がそれらのトークンの所有になります。コール元には、アカウントとミンターのロールが必要です。数量は、仕様ファイルの
divisible
動作のdecimal
パラメータで指定された10進数値内にする必要があります。 -
getTotalMintedTokens
- このメソッドは、ミントされたトークンの合計数を返します。
-
getNetTokens
- このメソッドは、システムで使用可能なトークンの正味数量を返します。正味トークンは、トークンのバーン後に残存するトークンの数量です。等式では、正味トークン = ミントされたトークンの合計 - バーンされたトークンの合計です。トークンがバーンされていない場合、正味トークン数は、ミントされたトークンの合計と等しくなります。
-
getMaxMintQuantity
- このメソッドは、トークンの最大ミント可能量を返します。
max_mint_quantity
動作が指定されていない場合、デフォルト値は0で、任意の数のトークンをミントできます。
トークン動作管理のメソッド- 転送可能動作
-
transfer
- このメソッドは、トークンをトランザクション・コール元から
to_account_id
アカウントに転送します。このメソッドのコール元にはアカウントが必要で、数量は仕様ファイルのdivisible
動作のdecimal
パラメータで指定された10進数値の範囲内である必要があります。 -
bulkTransfer
- このメソッドは、トークンを呼出し元アカウントから
flow
オブジェクトで指定されたアカウントに一括で転送します。このメソッドのコール元には、すでにアカウントが作成されている必要があります。
トークン動作管理メソッド- 保留可能動作
-
hold
- このメソッドは、
to_account_id
アカウントを持つトークンの所有者のかわりに保留を作成します。保留の完了または解除を担当する公証人アカウントが指定されます。保留が作成されると、支払者から指定されたトークン残高が保留になります。保留残高は、保留が完了または解除されるまで転送できません。このメソッドのコール元には、すでにアカウントが作成されている必要があります。 -
executeHold
- このメソッドはトークンの保留を完了し、以前に保留にされていたトークンの指定数量を受信者に転送します。
quantity
値が実際の保留値より小さい場合、残りはトークンの元の所有者が再度使用できます。このメソッドは、指定された操作IDのnotary
ロールを持つAccountOwner
IDのみがコールできます。保留は公証人のみが完了できます。 -
releaseHold
- このメソッドは、トークンの保留を解除します。転送は行われず、すべての保留トークンは元の所有者が再度使用できます。このメソッドは、指定された時間制限内は
notary
ロールを持つAccountOwner
IDが、指定された時間制限後は支払者、受取人または公証員がコールできます。 -
getOnHoldIds
- このメソッドは、指定されたアカウントのすべての保留IDのリストを返します。
-
getOnHoldDetailsWithOperationId
- このメソッドは、指定された操作IDおよびトークンの保留トランザクション詳細を返します。
-
getOnHoldBalanceWithOperationId
- このメソッドは、指定された操作IDおよびトークンの保留残高を返します。このメソッドは、だれでも呼び出すことができます。
トークン動作管理のメソッド- バーン可能動作