仮想通貨EOS相場
EOSJS

node.jsで簡単EOSアンステーキングプログラミング(eosjs v16.0.9)

仮想通貨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の購入を行いたいと思います。

EOS初心者おすすめ記事