XRPLでローカルで新機能をテストする(したかった)
前提
- XRPL・・・XRP(コイン)を取り扱うブロックチェーン
- 各環境で利用可能でない新機能を試す際はローカルでサーバをスタンドアロンモードで実行する(link)
- 検証環境: Mac(Intel)
- XRPLでの実装は初心者
やること
投稿時点でDID機能が利用可能でないので、ローカルでのテストを試みる
developブランチにマージされているタグ:2.0.0-b4が対象
検証は失敗したが過程を記す
ローカル環境でのbuild
失敗
rippled repository(公式)のbuildドキュメントにはMacの開発者も大勢いると書いてある
conan installのgrpc install部分でエラーが出たため、中断する
docker image build
失敗
rippledサーバのdockerはxrpllabsofficialのものを利用(参考)
説明文にあるimage build repoをclone
git clone git@github.com:WietseWind/docker-rippled.git
cd docker-rippled
Dockerfile変更
ubuntu:latestは現在Ubuntu 22.04.3 LTSのためjammy、またDID機能は現在developブランチのみにマージされているため、nightlyにripple repositoryの記述を変更(参考)
変更前
echo "deb [signed-by=/usr/local/share/keyrings/ripple-key.gpg] https://repos.ripple.com/repos/rippled-deb focal stable" | \
sudo tee -a /etc/apt/sources.list.d/ripple.list
変更後
echo "deb [signed-by=/usr/local/share/keyrings/ripple-key.gpg] https://repos.ripple.com/repos/rippled-deb jammy nightly" | \
sudo tee -a /etc/apt/sources.list.d/ripple.list
build
% ./go/build
バージョンの確認
% docker run -d \
--name rippled \
-p 80:80 \
-v $(pwd)/config:/config \
-e ENV_ARGS="-a --start" \
xrpllabsofficial/xrpld:latest
% docker logs rippled # エラーがないこと確認
% docker exec rippled rippled --version
rippled version 2.0.0-b3
% docker rm -f rippled
aptで取得出来る最新がb3までということが分かった
-a --startはスタンドアロン実行時に必要なoption(参考)
接続検証
のコードを実施してエラーが無いか確認
他の方法の確認
rippled repoに書かれているimageを発見(link)
tagを見たが去年が最新なので更新はなさそう
rippledのubuntu-builderでbuild
失敗
公式のubuntu builder
でbuildする
環境: ubuntuを用意
build
cd rippled/Builds/containers # Dockerfileのパス的にこの場所?
docker build -f ubuntu-builder/Dockerfile -t rippled:latest .
packaging/dpkg/build_dpkg.sh内のpathが合わず(rippled dirがDockerfile内にコピーされない)で実行できず
・・・
discordより
for building rippled,not really for running it in a container environment
とのことで最初に記述したdocker repositoryを案内されたため、ubuntu-builderを使うのは現実的でなさそう
ubuntuによるローカルbuild
失敗
ec2: t3.mediumを利用
conan install .. --output-folder . --build missing --settings build_type=Release
で以下のエラーになり失敗
rocksdb/6.29.5: ERROR: Package 'c3153bca2458fea7236349be4c2353545ef6385f' build failed
rocksdb/6.29.5: WARN: Build folder /home/ubuntu/.conan/data/rocksdb/6.29.5/_/_/build/c3153bca2458fea7236349be4c2353545ef6385f/build/Release
ERROR: rocksdb/6.29.5: Error in build() method, line 152
cmake.build()
ConanException: Error 2 while executing cmake --build "/home/ubuntu/.conan/data/rocksdb/6.29.5/_/_/build/c3153bca2458fea7236349be4c2353545ef6385f/build/Release" '--' '-j2'
Discussion
コメント時点でnightlyは2.0.0-rc2となっているようなのでDID機能を試すことができそうです
ありがとうございます。
dockerで2.0.0-rc2を動かせました。
DID等今回の追加機能が自分の立ち上げ方だとfeature listに載っておらず、公式アナウンス等出てきたらまた試そうと思います。