quras-jsアセットの送金、ガスのクレーム、スマートコントラクトの呼び出しのためのすぐに使える関数を提供します。このチュートリアルでは、高レベルの関数を使用していくつかのネイティブアセットを送金する方法を示します。
明確にするために、アセットについて話す時は、XQCやXQGなどのネイティブアセットを指します。QEP1トークンはスマートコントラクト内のレコードであるため、アセットとは見なされません。したがって、これはそれらのトークンの送金には適用されません。
quras-jsアセットの送金、ガスのクレーム、スマートコントラクトの呼び出しのためのすぐに使える関数を提供します。このチュートリアルでは、高レベルの関数を使用していくつかのネイティブアセットを送金する方法を示します。
明確にするために、アセットについて話す時は、XQCやXQGなどのネイティブアセットを指します。QEP1トークンはスマートコントラクト内のレコードであるため、アセットとは見なされません。したがって、これはそれらのトークンの送金には適用されません。
import QurasLib, {api} from 'quras-js' // We want to send 1 XQC and 1 XQG to DdMKz4NPardpaUqNVG7tfj9PgDNoD9zr9c const intent = api.makeIntent({XQC:1, XQG:1}, 'DdMKz4NPardpaUqNVG7tfj9PgDNoD9zr9c') console.log(intent) // This is an array of 2 Intent objects, one for each asset
api.makeIntentを使用してインテントを作成し、単一の配列に連結します。
sendAsset はトランザクションの構成に必要な全ての詳細情報を含むconfigurationオブジェクトを入力してもらってトランザクションを生成する。
const config = {
net: 'TestNet', // The network to perform the action, MainNet or TestNet.
address: 'DdMKz4NPardpaUqNVG7tfj9PgDNoD9zr9c', // This is the address which the assets come from.
privateKey: '8acd21064619fb4a8f309ef5eb9f85d913b81bd3b0894962e2974ba3bf821ca6',
intents: intent
}
QurasLib.sendAsset(config)
.then(config => {
console.log(config.response)
})
.catch(config => {
console.log(config)
})
sendAssetは、残高の取得、トランザクションの構築、署名、および最適なノードへの送金のすべてのことを自動的に実行します。これが行われると、promiseはconfigオブジェクトを返します。オブジェクトは、最初に渡されたものと同じオブジェクトであり、プロセスで使用されるすべての追加情報が追加されています。 たとえば、urlフィールドは、トランザクションを送金したQURASノードです。
ここでは、トランザクションの送金時にRPCエンドポイントからの応答を含むresponseプロパティに関心があります。
{
result: true,
txid: '48b83901a827fa343bf0e4d2ea00f4e7bd352ca28285f21e4bad9509f6460348'
}
sendAssetメソッドは、名前付きインポートのapiモジュールの下にあります。addressフィールドをコントラクトのアドレスに設定し、秘密鍵を使用して署名し、また構成オブジェクトでsendingFromSmartContractをtrueに設定して、コントラクトからの送金が許可されている。