0
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?

OCIでnostrリレーを動かそう (前編)

Last updated at Posted at 2024-06-26

前編では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

エンディング

ここまでくれば前半は終了
後編へつづく

0
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
0
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?