Elements
#Blockchain #Sidechain project
Elements | elementsproject.org
Arch linux に elements をインストールする
チュートリアルに従う
Elements Tutorial | elementsproject.org
code:terminal
git clone https://github.com/ElementsProject/elements.git
// 必要があれば dependencies をインストール
cd elements
./autogen.sh
./configure
configure: error: Found Berkeley DB other than 4.8, required for portable wallets (--with-incompatible-bdb to ignore or --disable-wallet to disable wallet functionality) とエラー
code:terminal
$ pacman -Qs Berkeley DB
local/db 5.3.28-5
バージョン 4.8 を入れる
wallet 不要ならエラーにあるオプションつければ berkeley db は不要
$ yay -S db4.8
error: ‘deque’ in namespace ‘std’ does not name a template type
code:20200301
git checkout elements-0.18.1.4
./autogen.sh
./configure --prefix=/home/kanna/elementsd/0.18.1.4 --with-gui=no --with-incompatible-bdb --without-miniupnpc
./configure --prefix=/home/kanna/elementsd/0.18.1.4 --with-gui=no --with-incompatible-bdb --without-miniupnpc --disable-wallet
./configure --prefix=/home/kanna/elementsd/0.18.1.4 --with-gui=no --disable-wallet
make check -j16 // CPU コアの2倍くらいがよい?
./configure --prefix=/home/kanna/elementsd/master --with-gui=no
code:terminal
./configure
make
sudo make install
which elementsd
// /usr/local/bin/elementsd と表示されればok
// 任意のディレクトリにインストールする場合は ./configure --help でドキュメント読む
mkdir ~/elementsdir1
mkdir ~/elementsdir2
cp ~/elements/contrib/assets_tutorial/elements1.conf ~/elementsdir1/elements.conf
cp ~/elements/contrib/assets_tutorial/elements2.conf ~/elementsdir2/elements.conf
alias e1-dae="$HOME/elements/src/elementsd -datadir=$HOME/elementsdir1"
alias e1-cli="$HOME/elements/src/elements-cli -datadir=$HOME/elementsdir1"
alias e2-dae="$HOME/elements/src/elementsd -datadir=$HOME/elementsdir2"
alias e2-cli="$HOME/elements/src/elements-cli -datadir=$HOME/elementsdir2"
// elements 単独で動かす場合はペグインのチェック不要なので elements.conf の validatepegin を 0に設定、もしくは実行時にパラメータで指定する
// あるいは以下
STANDALONEARGS="-validatepegin=0 -defaultpeggedassetname=newasset -initialfreecoins=100000000000000 -initialreissuancetokens=200000000"
$ e1-dae $STANDALONEARGS
rpc command 一覧
elementsbp-api-reference/api.md at master · ElementsProject/elementsbp-api-reference
elements/client.cpp at master · ElementsProject/elements · GitHub
通貨を発行
Issuing assets | elementsproject.org
e1-cli issueasset 100 1
name をつける方法が tutorial にあったきがする
multi wallet
node立ち上げ時にオプション指定
あとから追加できる?
confに指定
確認するには
e1-cli listwallets
wallet ごとの cli command
e1-cli -rpcwallet=wallet-1.dat getwalletinfo
送金
code:terminal
e1-cli -rpcwallet=wallet-2.dat getnewaddress
e1-cli -rpcwallet=wallet-1.dat AzpuvxpYaF4X7ws3Y7HL1u5pb596iuDbubge8PpAEeuWnzTo74wUz939g4tDWHxTwAR5XnQu8aRhbzLR
e1-cli -rpcwallet=wallet.dat sendtoaddress AzpuvxpYaF4X7ws3Y7HL1u5pb596iuDbubge8PpAEeuWnzTo74wUz939g4tDWHxTwAR5XnQu8aRhbzLR 10
code:curl
curl --data-binary '{"jsonrpc": "2.0", "id":"curltest", "method": "getblockchaininfo", "params": [] }' -H 'content-type: text/plain;' http://user1:password1@127.0.0.1:18884/
const request = XMLHTTPRequest();
request.open("POST", "http://user1:password1@127.0.0.1:18884/", false, "user1", "password1")
request.send()