スポンサーリンク
仮想通貨EOS(イオス)をnode.jsを通じてステーキングするプログラミングをやっていきました。
今回は前回ステーキングしたEOSを解除するアンステーキングプログラミングを行っていきたいと思います。
スポンサーリンク
EOSをアンステーキングするプログラム
それでは早速仮想通貨EOSのステーキングを解除するアンステーキングを走らせるプログラムを組んでいきましょう。
アンステーキングするコードは以下のとおりです。
/* EOSをアンステーキングする関数 */
function unstake_resources(sUnstaker, sRecAccount, fNetQuantity, fCpuQuantity){
/* NETに割り振る枚数を数字型にする */
var nNum = new Number(fNetQuantity);
/* CPUに割り振る枚数を数字型にする */
var cNum = new Number(fCpuQuantity);
/* EOSをアンステーキングする */
eos.transaction(tr => {
tr.undelegatebw({
from: sUnstaker,
receiver: sRecAccount,
unstake_net_quantity: String(nNum.toFixed(4)) + ' EOS',
unstake_cpu_quantity: String(cNum.toFixed(4)) + ' EOS'
});
}).then(function(data){
/* アンステーキングに成功したら結果をコンソール上に表示する */
console.log(data);
}).catch(function(error){
/* アンステーキングに失敗したら結果をコンソール上に表示する */
console.log(error);
});
}
上記をコピペで追加すれば使えるようになります。
関数の使い方は以下のようになります。
unstake_resources(sUnstaker, sRecAccount, fNetQuantity, fCpuQuantity)
■各パラメーターの説明
sUnstaker = 文字列:アンステーキングするEOSアカウント(原則自分のアカウントを指定する)
sRecAccount = 文字列:リソース割り振りを解除するアカウント
fNetQuantity = 浮動小数点型:NETのEOSステークを解除する枚数を入力する。
fCpuQuantity = 浮動小数点型:CPUのEOSステークを解除する枚数を入力する。
■使い方
unstake_resources(‘eosersbank45’, ‘eosersbank11’, 0.0001, 0.0001);
※解除したら3日間の保留期間を経てステーキングが本格的に解除されます。
フルコード
/* eosjsモジュールをインポート */
const Eos = require('eosjs');
/* ブロックチェーン接続設定をする(今回はテストネットに接続) */
eos = Eos({
keyProvider: '5K2xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
httpEndpoint: 'https://jungle2.cryptolions.io:443',
chainId: 'e70aaab8997e1dfce58fbfac80cbbb8fecec7b99cf982a9444273cbc64c41473',
});
/* EOSをアンステーキングする関数 */
function unstake_resources(sUnstaker, sRecAccount, fNetQuantity, fCpuQuantity){
/* NETに割り振る枚数を数字型にする */
var nNum = new Number(fNetQuantity);
/* CPUに割り振る枚数を数字型にする */
var cNum = new Number(fCpuQuantity);
/* EOSをアンステーキングする */
eos.transaction(tr => {
tr.undelegatebw({
from: sUnstaker,
receiver: sRecAccount,
unstake_net_quantity: String(nNum.toFixed(4)) + ' EOS',
unstake_cpu_quantity: String(cNum.toFixed(4)) + ' EOS'
});
}).then(function(data){
/* アンステーキングに成功したら結果をコンソール上に表示する */
console.log(data);
}).catch(function(error){
/* アンステーキングに失敗したら結果をコンソール上に表示する */
console.log(error);
});
}
/* アンステーキングを実行する */
unstake_resources("nodejstest45", "nodejstest45", 0.5000, 0.5000);
最後に
この関数も前回のコードと同様にコピペだけで動作するように作成しました。
次回は記憶領域であるRAMの購入を行いたいと思います。
スポンサーリンク
スポンサーリンク