前編ではnostrのリレー実装strfryをビルド&設定するところまでをやっていく
Oracle Cloud Accountを作る
ちょっとめんどくさい (流れに沿って登録していけばいいので割愛)
リージョンは自由にえらんでよいがTokyoは人気すぎるのでOsakaをえらんだ
Instanceを作成
Ubuntu 22.04 Minimal / VM.Standard.E2.1.Micro (Always Free) を選択してCreate
SSHを用いてインスタンスにアクセスするのが基本になるのできちんとprivate key, public keyは設定しておく
ダウンロードしたkeyはパーミッションが適切に設定されていないので注意 (たとえば以下のようにする)
chmod 400 .ssh/ssh-key-2024-06-22
イメージは一応好みで選んでいるがディスク容量の削減とUbuntuの方が普及率が高くセットアップが容易なことからえらんだ
aarch64をえらぶとarm64マシンになるが人気なのでArm Ampere A1は取れなかった
セットアップ
sshでログインするとなにもない環境がある
適宜必要なものをインストールして使おう
ssh ${instance-username}@${your-instance-ip} -i .ssh/ssh-key-2024-06-22
sudo apt update
sudo apt install --no-install-suggests build-essential git nano
インスタンス立ち上げには少し時間がかかる
インスタンスのページでスペースの確保と起動が確認されてからsshへログインできるようになるまでにも少しかかる
失敗したと思わず気長に待とう (それでも2,3分もかからないだろう)
swapfileの設定
strfryのビルドに入るまえにswapの設定をしておく
なぜならフリー枠のインスタンスはメモリーが1Gしかなく普通にやるとメモリーが足りなくなるからである
sudo dd if=/dev/zero of=/swapfile bs=1M count=1024
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo sysctl vm.swappiness=10
以下で確認
sudo swapon -s
free -h
これは永続的な設定ではない
しかしビルドが出来ればいいのでこれで十分である
strfryのビルド
早速ビルドしていく
strfryのドキュメントを見れば簡単 (時間がかかる)
sudo apt install --no-install-suggests libyaml-perl libtemplate-perl libregexp-grammars-perl libssl-dev zlib1g-dev liblmdb-dev libflatbuffers-dev libsecp256k1-dev libzstd-dev
git clone https://github.com/hoytech/strfry
cd strfry/
git submodule update --init
make setup-golpe
make
エンディング
ここまでくれば前半は終了
後編へつづく