Tezos のメインネットに繋ぐ


前回の記事で、テストネットを使って一通り Tezos を使ってみたので、今回はいよいよメインネットの利用に挑戦してみたいと思う。

### 重要な注意事項

今回の記事の内容は、 Tezos メインネットを用いたものになる。
つまり本物の現金をやり取りと等しい事をやっているというわけになる。

もしこの記事を読んで真似してみようと思った際は、くれぐれも自己責任でお願いしたい。
仮想通貨は価値変動が激しい資産なので、下手に手を出して火傷をしても知らないぞ。

## メインネットに繋ぐ

それでは、早速メインネットに接続していこう。
環境は、前回に引き続き VPS を使う。 Ubuntu20.04 である。

まず、データディレクトリを作り初期化しよう。

```bash
$ tezos-node config init --data-dir ~/.tezos-node --network mainnet
Jul  7 22:55:41.882 - node.config.validation: the node configuration has been successfully validated.
Created /root/.tezos-node/config.json for network: mainnet.

$ tezos-node identity generate --data-dir ~/.tezos-node
Generating a new identity... (level: 26.00)
```

次に、スナップショットを取ってくる。
テストネットのスナップショットを落としてきたサイトと同じ場所からメインネットのスナップショットも入手できる。

（メインネットのデータのスナップショットを外部サイトから落としてくるのはどのくらい安全なのか、実はちょっと自信が無いので、安全性を重視する人はスナップショットを使わないブートストラッピングをした方が良いと思う。）

```bash
$ wget https://snapshots-tezos.giganode.io/snapshot-mainnet_07-07-2021-0134_1546148_BLeQXd93uHtGGMFtVRLxGo962QMiptZhLRRRdyvJQd6RKf7xgsC.full

$ tezos-node snapshot --data-dir ~/.tezos-node import --block BLeQXd93uHtGGMFtVRLxGo962QMiptZhLRRRdyvJQd6RKf7xgsC ./snapshot-mainnet_07-07-2021-0134_1546148_BLeQXd93uHtGGMFtVRLxGo962QMiptZhLRRRdyvJQd6RKf7xgsC.full

$ tezos-node run --data-dir ~/.tezos-node --rpc-addr 127.0.0.1
```

スナップショットは結構なサイズだし、それを読み込むのもかなり時間がかかるので注意。

読み込み終わったら、早速ブートストラップをしていこう。

```bash
$ tezos-client -E http://127.0.0.1:8732 bootstrapped
Disclaimer:
  The  Tezos  network  is  a  new  blockchain technology.
  Users are  solely responsible  for any risks associated
  with usage of the Tezos network.  Users should do their
  own  research to determine  if Tezos is the appropriate
  platform for their needs and should apply judgement and
  care in their network interactions.
```

物々しい警告が表示される。
そうだぞ、仮想通貨は自分の責任でやろう。

ブートストラッピング中に送金などの処理はできないので、大人しく待とう。

## Tezos を手に入れる

テストネットで遊んでいる間は、 faucet （蛇口）を使ってタダで Tezos を入手できたが、メインネットだとそうはいかない。
誰かにもらうか、買うかしないといけない。
Tezos を買う場合、 Tezos を扱っている仮想通貨取引所を利用して購入するのが一番手っ取り早いだろう。

私は bitFlyer のアカウントを持っていたので、ここを使って購入することにする。
日本国内だと他にも GMO コインが Tezos を扱っていたかと思う。
あまり取引所間の比較はせずに、新しくアカウントを作るのが面倒だったのですぐに使える取引所を使った感じである。

![スクリーンショット 2021-07-09 002757.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/34175/f825c950-55eb-fcbc-b7cc-8310de398745.png)


こんな感じで1万円分くらい買ってみた。

で、これで Tezos が購入できたわけだが、このままだと買った Tezos はまだ取引所に預けている状態である。
この Tezos を使って色々遊ぶためには、まず購入した Tezos を自分の財布に送付しないといけない。

ここら辺のやり方は、多分取引所によって違うはずだけど、 bitFlyer では以下のような手順だった。

まず、自分のノードで送付先アドレスを生成する。

```bash
$ tezos-client -E http://127.0.0.1:8732 gen keys cedretaber

$ tezos-client -E http://127.0.0.1:8732 list known addresses

$ tezos-client -E http://127.0.0.1:8732 get balance for cedretaber
0 ꜩ
```

この段階だと空である（当たり前）。
このアドレスを人に教えることで、自分に対して Tezos を送付してもらえるわけだ。

次に、 bitFlyer で「送付先の外部テゾスアドレス」として今作った財布のトークンを登録する。

![スクリーンショット 2021-07-09 003009.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/34175/873bf065-c1cf-8732-2bf7-cdaf348d9980.png)

![スクリーンショット 2021-07-09 003456.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/34175/0f0122e6-9a9a-7cd8-3dd1-77e8b0feccab.png)

![スクリーンショット 2021-07-09 003536.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/34175/70d39ff0-28fb-f8e8-84ca-f84df1b3c756.png)

（私のアドレスはスクリーンショットの通りなので、そのアドレス宛に Tezos を送付すれば私に送金できるぞ。）

アドレスの登録が完了したら、その登録済みアドレスに対して Tezos を送金する。

![スクリーンショット 2021-07-09 003733.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/34175/f9c45164-c8cc-5807-cb32-cb0aef24012d.png)

![スクリーンショット 2021-07-09 003757.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/34175/3e5c9fd8-a8a7-945c-89d2-943b2723569c.png)

これにはやや手数料がかかるようだ（ Tezos の送付にはそもそも手数料がかかるが、これはそれに上乗せして、 bitFlyer に払う分も含まれているっぽい）。
で、この外部送付先アドレスへの送付にやや時間がかかる。不正送金を防止するために、 bitFlyer でチェックをしているらしい（どういうチェックをしているかは知らない）。

送付が完了すると、 bitFlyer から通知が来る。
tezos-client を叩いて手元の財布を確認してみよう。

```bash
$ tezos-client -E http://127.0.0.1:8732 get balance for cedretaber
30 ꜩ
```

無事、 Tezos を購入して手元に持ってくることができた。

次回はこの Tezos をデリゲートしてみたいと思う。