1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Nekoniumのパブリックノードを立ててみよう その1

Last updated at Posted at 2018-01-27

##はじめに
Ethereumフォークで国産の仮想通貨「Nekonium」のパブリックノードを構築する方法を記載します。

##手順

###サーバーの準備

####ドメインの取得
ドメイン取得代行サイトで任意のドメインを取得してください。
今回はバリュードメインで「nekonium.site」というドメインを取得しました。
6f8a0b14a8ebedac1a4f06f79d869909.png

####サーバーの用意
Linuxサーバーを立ち上げます。
今回はAWSの「Ubuntu Server 16.04 LTS (HVM), SSD Volume Type」を選びました。
インスタンスタイプはとりあえず「t2.micro」にしておきます。
6c6f74d298db3a429170ea318c1c0f79.png

7d7f92cd7b6508e061f3359b66d8f7e7.png

####固定IPの取得
インスタンスが立ち上がったら、「Elastic IP」でグローバル固定IPを取得します。
今回は「13.250.141.96」が割り当てられました。
25c3837c292cd288d1cb3764e591a67e.png

ce05ba10abc1663ecb5ca215c4f42ade.png

####固定IPを関連付ける
「アクション」から、先ほど作成したインスタンスにグローバル固定IPを割り当てます。
fecc0f17c15c79323bdf10b356659bb0.png

2149ad15b781c83db22d304fec96cbf9.png

####ファイアウォールの設定
「セキュリティグループ」のインバウンド設定から、今回使用するTCPの「8293」ポートを空けておきます。
fc94efd8a8d97c5f51fcd88aeade4e5c.png

7741084b046e610c2c866f6dc7e34294.png

####DNSの設定
今回割り当てられたグローバル固定IPをドメイン名に紐付けます。
バリュードメインのDNS設定からAレコードのワイルドカードを「13.250.141.96」に設定します。
5eb1c556527577746cc330d68a304589.png

###サーバーの設定

####インスタンスへの接続
Windowsの場合は「PuTTY」を使用します。詳しい接続方法はAWSのページを参照してください。
[Linux インスタンスへの接続 - AWS Documentation]
(https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/AccessingInstances.html?icmpid=docs_ec2_console)
bf4285edd2c350ebf6f0f76b4dfa7fd7.png

ab7c4cc2774f32febd5961a870c946ef.png

####Ubuntuのアップデート
ログインができたら、まずUbuntuをアップデートして再起動します。
sudo apt-get update
sudo apt-get dist-upgrade
sudo reboot

####build-essentialのインストール
下記コマンドを実行してbuild-essentialをインストールします。
sudo apt-get install build-essential make

####Goのインストール
下記コマンドを実行してGoをインストールします。
wget https://storage.googleapis.com/golang/go1.9.2.linux-amd64.tar.gz
sudo tar -xvf go1.9.2.linux-amd64.tar.gz
sudo mv go /usr/local
export GOROOT=/usr/local/go
export PATH=$GOPATH/bin:$GOROOT/bin:$PATH
export GOPATH=$HOME/go
go version と入力してgo version go1.9.2 linux/amd64と出力されればインストール成功です。

####gnekoniumのインストール
下記コマンドを実行してgnekoniumをインストールします。
mkdir nekonium
cd nekonium
git clone https://github.com/nekonium/go-nekonium
※もしgitがインストールされていない場合は、sudo apt-get install gitを実行して下さい。
cd go-nekonium
export GOROOT=/usr/local/go
export PATH=$GOPATH/bin:$GOROOT/bin:$PATH
export GOPATH=$HOME/go
make gnekonium

####gnekoniumの初回起動
#####ブロックチェーンの同期
下記コマンドを実行してブロックチェーンの同期を行います。
build/bin/gnekonium --fast --cache=256 console
少し時間がかかります。(15分くらい)
※注意 --cache=512だとインスタンスのメモリ容量が足りず失敗します。
#####同期終了
Fast sync complete, auto disablingと表示されれば同期が成功したことになります。

####パブリックノードの開始
PuTTYでセッションを開きなおして下記コマンドを実行するとパブリックノードが開始されます。
cd nekonium/go-nekonium
build/bin/gnekonium -rpc --rpcaddr 0.0.0.0 --rpcport 8293

####動作確認
ノードが動作しているか確認するには別セッションで下記コマンドを実行します。
curl -s -X POST --data '{"jsonrpc":"2.0","id":0,"method":"eth_getBalance","params":["アドレス","latest"]}' http://nekonium.site:8293/
アドレスにはNekoniumのアカウントを入力して下さい。
16進数でアカウントの残高が表示されれば無事動作していることになります。

####セッションを維持するには
現状のままだとセッションが途切れたりPuTTYを終了したりするとgnekoniumも終了してしまいます。
解決方法としては下記コマンドで仮想ターミナルを使用してパブリックノードを開始します。
tmux new -s gnekonium
cd nekonium/go-nekonium
build/bin/gnekonium -rpc --rpcaddr 0.0.0.0 --rpcport 8293
Ctrl+bのあとにdを押すと元の画面に戻りますが、このままPuTTYを終了してもgnekoniumの実行を持続することができます。

##おわりに
これでパブリックノードの構築が完了しました。
他のドメインレジスタやVPSサービス、Linuxディストリビューションを使用する際は適宜読み替えて下さい。
次回はSSL通信に対応したNekoniumのパブリックノードの構築方法を投稿したいと思います。

##参考サイト
Installation Instructions for Ubuntu - Go Ethereum
EthereumノードにJSON-RPC API経由でアクセスする - Qiita

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?