Anchor

Anchor-Linkを使ってEOS送金するプログラム

前回はAnchor(アンカー)を使ったプログラムをざっくりと紹介しましたが、今回は基本的なEOS(イオス)の動作を一つずつ紐解いていきましょう。

できるだけ誰でもできるようにコピペ形式でも使えるようにしています。

EOS送金プログラムの型

今回もできるだけコピペだけで対応できるようにEOS送金のプログラムの型を紹介したいと思います。

function transfer(sRecAccount, fAmount, sSymbol, sMessage){

 /* 送金枚数を数字型に変換する */
 var num = new Number(fAmount);
 /* nullなら空白にする */
 if(sMessage == null) sMessage = '';

 const action = {
  account: 'eosio.token',
  name: 'transfer',
  authorization: [session.auth],
  data: {
   from: session.auth.actor,
   to: sRecAccount,
   quantity: String(num.toFixed(4)) + ' ' + sSymbol,
   memo: sMessage
  }
 };

 session.transact({action}).then((result) => {
   console.log(result.processed.id);
 });

}

上記を前回のプログラムに貼り付けるだけで動作します。

機能の説明は以下の通りになります。

transfer( sRecAccount, fAmount, sSymbol, sMessage )

■各パラメーターの説明
sRecAccount = 送金先のアカウント名
fAmount = 送金する枚数
sSymbol = トークンシンボル
sMessage = メッセージ(nullを入力すると空白で送信する)

■使い方
(メッセージを添える場合)
transfer(‘eosersbank11’, 1.0000, ‘EOS’, ‘てゃんでぃ!行くぜ!’);
(メッセージを添えない場合)
transfer(‘eosersbank11’, 1.0000, ‘EOS’, null);

フルコード

<!DOCTYPE html>
<html lang="jp">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Anchor test</title>
<script src="https://unpkg.com/anchor-link"></script>
<script src="https://unpkg.com/anchor-link-browser-transport"></script>

<script>
    
// アプリ識別子、該当する場合はeosio契約アカウントに設定する必要があります
const identifier = 'dapps_name';
        
// ブラウザのトランスポートを初期化する
const transport = new AnchorLinkBrowserTransport();
        
// リンクを初期化する
const link = new AnchorLink({transport});
        
// ink.restoreSession()を使用して復元された、またはlink.login()で作成されたセッションインスタンス
let session;

// ドキュメントのロード時に呼び出されるセッションの復元を試みます
function restoreSession() {
  link.restoreSession(identifier).then((result) => {
   session = result;
   if (session) { didLogin(); }
  })
}

// ログインしてセッションを保存する(成功した場合)
function login() {
  link.login(identifier).then((result) => {
  session = result.session;
  didLogin();
 })
}

// ログアウトしてストレージからセッションを削除
function logout() {
  document.body.classList.remove('logged-in');
  session.remove();
}

// セッションが復元または作成されたときに呼び出されます
function didLogin() {
  document.getElementById('account-name').textContent = session.auth.actor;
  document.body.classList.add('logged-in');
}

// セッションを使用してトークンを転送する
function transfer(sRecAccount, fAmount, sSymbol, sMessage) {
            
  var num = new Number(fAmount);
  if(sMessage == null) sMessage = '';
            
  const action = {
    account: 'eosio.token',
    name: 'transfer',
    authorization: [session.auth],
    data: {
      from: session.auth.actor,
      to: sRecAccount,
      quantity: String(num.toFixed(4)) + ' ' + sSymbol,
      memo: sMessage
    }
  }
            
  session.transact({action}).then((result) => {
    document.getElementById('log').innerHTML += `Transaction broadcast! ${ result.processed.id }\n`;
    console.log(result.processed.id);
  });
}
</script>

<!-- 画面表示非表示 -->
<style>
.logged-in #login-ui {
  display: none;
}
#app-ui {
  display: none;
}
.logged-in #app-ui {
  display: block;
}
</style>

</head>

<body onload="restoreSession()">

<div id="app-ui">
<p>ようこそ <b id="account-name">名無しさん</b>!</p>
<ul>
<li><button onclick="transfer('eoserscrypto', 0.0001, 'EOS', null)">eoserscryptoに送金する</button></li>
<li><button onclick="logout()">ログアウト</button></li>
</ul>
<pre id="log"></pre>
</div>
<div id="login-ui">
<button onclick="login()">ログイン</button>
</div>

</body>
</html>

最後に

この関数は、ある程度コピペで対応できるようにしています。

次回はステーキングしてリソースを確保する関数を紹介したいと思います。

ビットコインを始める初心者におすすめの取引所

ビットコインは仮想通貨の基軸通貨とも言われており、基本的にどの取引所でも取引できます。

同じビットコインでも、取引所の使い勝手やサービスによって自身に合う取引ができるか異なるため、取引所ごとの特徴を掴むことが重要です。

ここではビットコイン取引におすすめの取引所と、その特徴を紹介します。

bitFlyer


【おすすめポイント】

  • 2014年からサービスを開始した老舗
  • ビットコインやイーサリアムのレバレッジ取引にも対応
  • 専用アプリではチャート分析まで可能

 

bitFlyer(ビットフライヤー)は、ビットコインの取引量で6年連続国内No.1になった取引所です。サービスを開始したのは2014年と、国内取引所の中ではサービス歴が長く、メガバンクも出資していることから将来の成長性も見込めます。

専用のアプリは機能が充実していて、取引量のチェックだけでなくチャート分析まで行えます。

また、Brave(ブレイブ)ブラウザ閲覧報酬のBATを受け取れる唯一の取引所です。

さらにbitFlyerはセキュリティ対策にも力を入れており、これまでハッキングで被害を受けたことがありません。

 

1回でもハッキングされた所は避けたい」という場合は、真っ先に候補に上がる取引所でしょう。

取引所名bitFlyer(ビットフライヤー)
最低取引数量(取引所)0.001BTC
取扱通貨数17通貨
取引手数料(取引所)0.01~0.15%
入金手数料銀行振込 : 無料クイック入金住信SBIネット銀行 : 無料住信SBIネット銀行以外 : 330円
出金手数料220~770円

ビットフライヤーはこちらから

Coincheck

コインチェック
【おすすめポイント】

  • マネックスグループ傘下の安心感
  • 取引手数料・入金手数料が無料
  • 最小500円でビットコインが手に入る

 

Coincheck(コインチェック)は、東証プライム市場に上場しているマネックスグループ傘下の取引所です。

アプリがシンプルで使いやすく、初心者から上級者まで人気があります。

すでに50万人以上のユーザーがコインチェックのアプリで取引していることからも、多くのユーザーの支持を得ていることが分かります。

取扱通貨数は17と多めで、「ビットコインから取引を始めて、ゆくゆくは他の通貨(アルトコイン)も取引してみたい」と考えている方におすすめです。

 

1回でもハッキングされた所は避けたい」という場合は、真っ先に候補に上がる取引所でしょう。

取引所名Coincheck(コインチェック)
最低取引数量(取引所)0.005BTC以上 かつ 500円(相当額)以上から
取扱通貨数17通貨
取引手数料(取引所)無料
入金手数料銀行振込 : 無料コンビニ入金 : 770円~クイック入金 : 770円~
出金手数料407円

コインチェックはこちらから

楽天ウォレット

 

【おすすめポイント】

  • 楽天ポイントをビットコインに交換できる
  • 最短即日で口座を開設できる

 

楽天ウォレットは楽天グループに属する取引所です。

楽天ポイントをビットコインに交換できるのがメリットで、最低100ポイントから1ポイント1円相当で交換できます。ある程度のポイントが貯まれば現金の出費なしで仮想通貨取引を始められます。

持っているビットコインを楽天キャッシュにチャージすることで、楽天市場での買い物に利用することも可能です。

取引で利益を得るだけでなく、買い物でも仮想通貨を利用したい方におすすめの取引所といえます。

 

口座開設は最短即日と非常にスピーディなのも特徴です。楽天銀行に口座を持っている場合は本人確認手続きが必要なく、楽天銀行に口座を持っていなくても「らくらく本人確認」を利用すればオンラインで手続きが完結します。

取引所名楽天ウォレット
最低取引数量(取引所)購入:100円売却:0.0001 BTC
取扱通貨数4通貨
取引手数料(取引所)無料
入金手数料無料
出金手数料300円

楽天ウォレットはこちらから

LINE BITMAX(ビットマックス)


【おすすめポイント】

  • 仮想通貨貸出サービスが利用できる
  • スマホだけで簡単口座開設が可能

 

LINE BITMAX(ライン ビットマックス)は、LINEのグループ会社が運営する仮想通貨取引所です。スマホアプリ「LINE」のグループらしく、スマホだけで本人確認も口座開設手続きも完了させることができます。

保有している仮想通貨を貸し出して利益を得られるサービスも提供しており、長期的に稼ぐことも可能です。

公式ブログでは「ビットコインの仕組み・使い方」「本人確認の手順」などの基本的な内容を紹介しています。

仮想通貨初心者でも取引に必要な最低限の知識を身につけられるでしょう。

 

取引所名LINE BITMAX(ビットマックス)
最低取引数量(取引所)0.00000001 BTC
取扱通貨数6通貨
取引手数料(取引所)無料
入金手数料無料
出金手数料400円(銀行口座)

ビットマックスはこちらから

GMOコイン



【おすすめポイント】

  • 東証プライム上場GMOインターネットの傘下
  • 取引手数料・入出金手数料・送金手数料が全て無料
  • レバレッジ取引にも対応

 

GMOコインは「GMOインターネットグループ」を親会社にもつ仮想通貨取引所です。GMOクリック証券で培われた万全な管理体制と、抜け目のないセキュリティ体制が整っています。

取引手数料・入出金手数料・送金手数料が全て無料で、取引に余計なコストがかからない点も魅力的です。

レバレッジ取引にも対応しており、初心者から上級者まで幅広くおすすめできます。

 

取引所名GMOコイン
最低取引数量(取引所)0.0001 BTC
取扱通貨数20通貨
取引手数料(取引所)無料
入金手数料無料
出金手数料無料

GMOコインはこちらから

bitbank(ビットバンク)

ビットバンク
【おすすめポイント】

  • 仮想通貨の取引量が国内トップクラスに多い
  • 流動性が高いので、瞬時に売却・購入が可能
  • 取り扱い通貨数が19種類と多い

 

bitbankは、仮想通貨取引量で国内No.1に輝いた暗号資産取引所です。

流動性が高いことで、値動きの激しい暗号資産を瞬時に売却・購入できる快適なトレードが実現します。

さらに「オフラインのコールドウォレット」「マルチシグ」によってセキュリティ面でも国内No.1の高い評価を受けている点もメリットです。

日本円の入金もリアルタイムで可能!土日を含めた24時間いつでも日本円を入金できるので、取引チャンスを逃しません。

取り扱い通貨数も19通貨と多いので、マイナー通貨を取引したい方にも向いています。

取引所名bitbank(ビットバンク)
最低取引数量(取引所)0.0001BTC
取扱通貨数19通貨
取引手数料(取引所)メイカー:-0.02%
テイカー:0.12%
入金手数料無料
出金手数料550円
770円(3万円以上)※日本円の場合

ビットバンクはこちらから