トークン・タクソノミ・フレームワーク用のスキャフォールド済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 thedecimalparameter of thedivisiblebehavior 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 thedecimalparameter of thedivisiblebehavior 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ロールを持つAccountOwnerIDのみがコールできます。保留は公証人のみが完了できます。 -
releaseHoldTokens - このメソッドは、トークンの保留を解除します。転送は行われず、すべての保留トークンは元の所有者が再度使用できます。このメソッドは、指定された時間制限内は
notaryロールを持つAccountOwnerIDが、指定された時間制限後は支払者、受取人または公証員がコールできます。 -
getOnHoldIds - このメソッドは、指定されたアカウントのすべての保留IDのリストを返します。このメソッドは、チェーンコードの
Token Admin、指定された組織のOrg AdminまたはアカウントのAccountOwnerがコールできます。 -
getOnHoldDetailsWithOperationId - このメソッドは、指定された操作IDおよびトークンの保留トランザクション詳細を返します。このメソッドは、だれでも呼び出すことができます。
-
getOnHoldBalanceWithOperationId - このメソッドは、指定された操作IDおよびトークンの保留残高を返します。このメソッドは、だれでも呼び出すことができます。
-
holdTokens - このメソッドは、
to_account_idアカウントを持つトークンの所有者のかわりに保留を作成します。 -
executeHoldTokens - このメソッドはトークンの保留を完了します。トークン所有者が以前に保留にした数量のトークンが受信者に転送されます。
quantity値が実際の保留値より小さい場合、残りはトークンの元の所有者が再度使用できます。このメソッドは、指定された操作IDのnotaryロールを持つAccountOwnerIDのみがコールできます。保留は公証人のみが完了できます。 -
releaseHoldTokens - このメソッドは、トークンの保留を解除します。転送は行われず、すべての保留トークンは元の所有者が再度使用できます。このメソッドは、指定された時間制限内は
notaryロールを持つAccountOwnerIDが、指定された時間制限後は支払者、受取人または公証員がコールできます。 -
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ロールを持つAccountOwnerIDのみがコールできます。保留は公証人のみが完了できます。 -
releaseHold - このメソッドは、トークンの保留を解除します。転送は行われず、すべての保留トークンは元の所有者が再度使用できます。このメソッドは、指定された時間制限内は
notaryロールを持つAccountOwnerIDが、指定された時間制限後は支払者、受取人または公証員がコールできます。 -
getOnHoldIds - このメソッドは、指定されたアカウントのすべての保留IDのリストを返します。
-
getOnHoldDetailsWithOperationId - このメソッドは、指定された操作IDおよびトークンの保留トランザクション詳細を返します。
-
getOnHoldBalanceWithOperationId - このメソッドは、指定された操作IDおよびトークンの保留残高を返します。このメソッドは、だれでも呼び出すことができます。
トークン動作管理のメソッド- バーン可能動作