基本-マルチシグウォレットの作成
このレッスンでは、マルチシグウォレットを作成する方法を紹介します。
quras-jsモジュールを使用して、新しいマルチシグウォレットを生成して、これをステップバイステップでお見せします。
マルチシグウォレットテンプレートの作成
pubkeyを使用してマルチシグウォレットテンプレートを生成し、新しいマルチシグウォレットを作成できます。
var tx = Quras.tx.Transaction.createRegisterMultiSignTx('022d597ef40181c3f075d2b8612611785aa275485e7ede57c3d07664f254f99450'); // set your pubkey.
マルチシグウォレットのTxデータを中継する
マルチシグウォレットには複数のウォレットが含まれており、マルチシグウォレットのtxデータを相互に送信する必要があります。
Quras.tx.getMultiSignWalletTxRawData(tx) // Get raw data of multi-sig wallet tx.
var tx = Quras.tx.Transaction.getMultiSignWalletTx(rawdata); // Get Multi-Sig wallet tx from raw data.
マルチシグウォレットに参加する
マルチシグウォレットデータを受信したら、マルチシグウォレットをpubkeyで参加させてマルチシグトランザクションに参加できます。
tx = Quras.tx.Transaction.joinMultiSignWallet(tx, '035575f88c6f0e41fc7cc657b040f34902337d13dbc1b18dd2c3eac3f2e576d6b3'); // set your pubkey.
マルチシグウォレットアドレスを取得する
マルチシグウォレットアドレスを作成することができます。
var scripthash = Quras.tx.Transaction.getMultiSignScriptHash(tx);
var addr = Quras.wallet.getAddressFromScriptHash(scripthash);
マルチシグウォレットTxをブロードキャストする
全員がマルチシグウォレットtxを参加した後、txをRPCサーバーに送信する必要があります。
tx.sign('7946ec98ebfa9e064101584b91db3275f485391d6eec345650bcceb861874c0a'); // Sign the transaction using private key
const rpcServer = new Quras.rpc.RPCClient(Quras.CONST.QURAS_NETWORK.MAIN);
rpcServer.sendRawTransaction(tx.serialize()) // Send the transaction to RPC Server.
.then((data) => {
    console.log(data);
})
.catch ((error) => {
    console.log("error");
});