仮想通貨EOS(イオス)にてdApps(ダップス)に接続するにはScatter(スキャッター)が必須になります。
そのScatter(スキャッター)を基盤にEOS系のdAppsを作れたら、HTML上からScatterを接続できたら、、そして、更に簡単に接続できたらと思いScatterプログラミングをやってみました。
今回は初心者にもわかりやすく、できるだけコピペで簡単にできるようにプログラミングをしていきたいと思います。
Scatterプログラミングの初期設定をする
今回はeosjs v16.0.9版のプログラミングを行っていきたいと思います。
まずはHTMLのヘッダーの設定をしたいと思いますので、以下を記述してください。
<!-- EOS基盤のJavascriptモジュール v16.0.9 -->
<script src="https://cdn.jsdelivr.net/npm/[email protected]/lib/eos.min.js"></script>
<!-- ScatterのコアJavascriptモジュール -->
<script src="https://cdn.scattercdn.com/file/scatter-cdn/js/latest/scatterjs-core.min.js"></script>
<!-- ScatterのEOSブロックチェーン接続Javascriptモジュール -->
<script src="https://cdn.scattercdn.com/file/scatter-cdn/js/latest/scatterjs-plugin-eosjs.min.js"></script>
これを設定することによるEOSとScatterのAPIからブロックチェーンに接続し送金やステーキング、アカウント作成などの様々なEOSの機能を扱うことが出来ます。
Scatterのパラメーターを初期化する
まずはScatterのパラメーターを一度初期化します。
/*Scatterを初期化する*/
ScatterJS.plugins(new ScatterEOS());
/*EOS API変数を初期化する*/
var eos = null;
/*アカウント情報を初期化する*/
var account = null;
/*パーミッション情報を初期化する*/
var options = null;
この宣言で一度すべてをクリアにしました。
ネットワークを設定する
ブロックチェーンに接続するためにネットワーク情報を設定します。
/*EOSメインネットのチェーン設定*/
const network = ScatterJS.Network.fromJson({
blockchain:'eos',
chainId:'aca376f206b8fc25a6ed44dbdc66547c36c6c33e3a119ffbeaef943642f0e906',
host:'nodes.get-scatter.com',
port:443,
protocol:'https'
});
このネットワーク情報はメインネットなので本番環境で動かしたい場合は上記のチェーンを設定します。
テスト版で動かしたい場合はテストネットも接続できます。
/*EOSテストネットJungleのチェーン設定*/
const network = ScatterJS.Network.fromJson({
blockchain: 'eos',
chainId: 'e70aaab8997e1dfce58fbfac80cbbb8fecec7b99cf982a9444273cbc64c41473',
host: 'jungle2.cryptolions.io',
port: 443,
protocol: 'https'
});
テストネットは色々ありますが今回はJungleテストネットのチェーン情報を掲載します。
Scatterにログインする
それでは早速Scatterにログインするプログラムを書いていきましょう。
function scatter_login(){
/* ScatterでEOSブロックチェーンに接続する */
ScatterJS.connect('YourAppName', {network}).then(connected => {
/* 接続ができなかった場合は処理を中止する */
if(!connected) return console.error('no scatter');
/* EOSブロックチェーンとScatterを繋ぎAPI操作できるようにする。 */
eos = ScatterJS.eos(network, Eos);
/* ScatterでEOSブロックチェーンに接続する */
ScatterJS.login().then(id => {
/* ScatterでEOSアカウントに不備があれば処理を中止する */
if(!id) return console.error('no identity');
/* Scatterに登録されているEOSアカウントのパラメーターを設定する */
account = ScatterJS.account('eos');
/* activeかownerかのパラメーターを設定する */
options = {authorization:[`${account.name}@${account.authority}`]};
/* 設定されたアカウント情報を出力する */
console.log(JSON.stringify(account));
});
});
}
これでScatterに接続できる環境が整いました。
Scatterからログアウトする
ログインしたらログアウトしすべての情報を開放してやる必要もありますので。
ログアウトのコードも明記しておきます。
function scatter_logout(){
/* Scatter上のアカウントデータをクリアする */
ScatterJS.scatter.forgetIdentity()
/* Scatterからログアウトする。 */
ScatterJS.scatter.logout();
/* アカウント情報をクリアする */
account = null;
option = null;
}
これをすることによりScatterからログアウトできます。
フルコード
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>scatter test</title>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/lib/eos.min.js"></script>
<script src="https://cdn.scattercdn.com/file/scatter-cdn/js/latest/scatterjs-core.min.js"></script>
<script src="https://cdn.scattercdn.com/file/scatter-cdn/js/latest/scatterjs-plugin-eosjs.min.js"></script>
<script>
/* EOSとScatterの初期化をする */
ScatterJS.plugins(new ScatterEOS());
var eos = null;
var account = null;
var options = null;
/* EOSブロックチェーンネットワークを宣言する */
const network = ScatterJS.Network.fromJson({
blockchain:'eos',
chainId:'aca376f206b8fc25a6ed44dbdc66547c36c6c33e3a119ffbeaef943642f0e906',
host:'nodes.get-scatter.com',
port:443,
protocol:'https'
}); //mainnet
/* Scatterにログインする。 */
function scatter_login(){
ScatterJS.connect('<dAppsの名称>', {network}).then(connected => {
if(!connected) return console.error('no scatter');
eos = ScatterJS.eos(network, Eos);
ScatterJS.login().then(id => {
if(!id) return console.error('no identity');
account = ScatterJS.account('eos');
options = {authorization:[`${account.name}@${account.authority}`]};
/* HTML上に結果を表示する。 */
document.getElementById('account').innerHTML = JSON.stringify(account);
});
});
}
/* Scatterにログアウトする。 */
function scatter_logout(){
ScatterJS.scatter.forgetIdentity()
ScatterJS.scatter.logout();
account = null;
options = null;
/* HTML上に結果を表示する。 */
document.getElementById('account').innerHTML = "";
}
</script>
</head>
<body>
<!-- HTMLの本文 -->
<h1>scatter test</h1>
<!-- Scatterのログインとログアウトをするボタン -->
<button type="button" name="name" value="value" onClick="scatter_login();">Scatter Login</button><br>
<button type="button" name="name" value="value" onClick="scatter_logout();">Scatter Logout</button><br><br>
<!-- 結果を表示する -->
<div id="account">no account</div><br>
</body>
</html>
最後に
今回はScatterとEOSをつなぐ基本的なコードを明記しました。
フルコードをそのままHTMLにコピペしてScatterを立ち上げた状態で、Scatter Loginボタンを押せばScatterでdAppsにログインできるはずです。
Scatter Logoutボタンを押せばログアウトもできるはずです。
次回は実際に送金やステーキングをやってみましょう。
ビットコインは仮想通貨の基軸通貨とも言われており、基本的にどの取引所でも取引できます。
同じビットコインでも、取引所の使い勝手やサービスによって自身に合う取引ができるか異なるため、取引所ごとの特徴を掴むことが重要です。
ここではビットコイン取引におすすめの取引所と、その特徴を紹介します。
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通貨 |
取引手数料(取引所) | 無料 |
入金手数料 | 無料 |
出金手数料 | 無料 |
bitbank(ビットバンク)
- 仮想通貨の取引量が国内トップクラスに多い
- 流動性が高いので、瞬時に売却・購入が可能
- 取り扱い通貨数が19種類と多い
bitbankは、仮想通貨取引量で国内No.1に輝いた暗号資産取引所です。
流動性が高いことで、値動きの激しい暗号資産を瞬時に売却・購入できる快適なトレードが実現します。
さらに「オフラインのコールドウォレット」「マルチシグ」によってセキュリティ面でも国内No.1の高い評価を受けている点もメリットです。
日本円の入金もリアルタイムで可能!土日を含めた24時間いつでも日本円を入金できるので、取引チャンスを逃しません。
取り扱い通貨数も19通貨と多いので、マイナー通貨を取引したい方にも向いています。
取引所名 | bitbank(ビットバンク) |
---|---|
最低取引数量(取引所) | 0.0001BTC |
取扱通貨数 | 19通貨 |
取引手数料(取引所) | メイカー:-0.02% テイカー:0.12% |
入金手数料 | 無料 |
出金手数料 | 550円 770円(3万円以上)※日本円の場合 |