Pochi Bukuroの開発体験記
2022-12-30、2022-12-31、2023-01-01とPochi Bukuroというプロジェクトに取り組んでいた。学びが多く、いいテンションで取り組めたので少し記録を残しておきたい。
謝辞
まずなにより、いっしょに遊んでくれたchanohaに感謝である。chanohaがいなければ走り始めることもなかっただろうし、たとえ走り始めたとしてもリリースにいたらなかったんじゃないかと思う。
数年来の友人であるchanohaとは2022-08-27にひさしぶりに話す機会があって「へぇ、あんたもブロックチェーンに興味あるんだ」となって、ふたりともウォレットにKawaii SKULLのNFTが存在していたので意気投合した。それからDiscordにサーバを用意し、ブロックチェーンやトークンについて思いつくことがあればメモ代わりにDiscordのチャンネルに書き込む、といった日々を過ごしてきた。
2022-12-25の時点では、ぼくは「年賀状」「お年玉」とアイディアの種を記録していて、それにchanohaが「ポチ袋」と返してくれている。やっぱりchanohaがいなかったらPochi Bukuroのアイディアは出ていなかったかもしれない。
発端
2022-12-30にchanohaとビデオチャットをした。ひさしぶりの同期的な会話の機会だったので、お互いの近況を話しつつ、来年はトークンのアイディアを形にしていきたいね、活動のギアを上げていきたいね、といった話をしていた。そのまま会話が収束して「よいお年を〜」と解散してもおかしくなかったが、ビデオチャットの終盤で
- ポチ袋をトークンにするとしたらこんな感じかね
- わりとコンパクトな実装で済みそうね
- やるなら2023-01-01にリリースしたいよね
という話になり、そのままHackathonが開幕した。幸い、ふたりとも年末の予定が詰まっていたりはしなかったので、各位が動ける時間を使って各位の担当タスクを進めていくことにした。
着想
chanohaはpNounsプロジェクトにデザイナとして関わっていて、直近2〜3ヶ月でブロックチェーンやトークンに関する理解を深めていた。pNounsの体験記をたくさん聞かせてもらっていて、とても刺激的。
@fujimono: 中島さんとの共同作品第一号!嬉しいなー
@fujimono: pNounsプロジェクトのおかげで生まれた、中島さんとの共同作品第二弾!めちゃ可愛い!!
@fujimono: 中島さんと一緒にものづくりできるようになったきっかけのプロジェクト。共同制作リリースタイミング的には第3弾だけれども、気持ち的には第0弾🎉 フルオンチェーンの可能性と楽しさを広げていきたい。
また、ぼくらの間で「トークンはエモい」といった話を何度かしてきた。スマートコントラクトはけっこう無機質で、よく自動販売機のたとえで説明される通り、自動販売機は無機質じゃないですか。ちょっとでもお金が足りなければ商品を購入できなくて、淡々と契約通りに動作するのがスマートコントラクトの長所。
そこに有機的な意味を帯びさせるのは人間の認識の世界の話。スマートコントラクトに「こういうふうに楽しんでほしい」という意味付けをすることで、そこにエモーションが生じる余地ができる。
「お年玉」だとETHそのものに目が向くけれど「ポチ袋」ならETHを包む外側の意味を表現できそうだね、ってことになった。受け取ったETHは使ったらなくなるけれど、ポチ袋はウォレットに残り続ける。思い出。
学び
- やっぱりプロダクション・リリースするつもりのプロジェクトには学びのチャンスが詰まっている
- Solidityでのスマートコントラクト実装の理解度が10倍くらいになった
- 先人たちが公開してくれているソースコードが宝の山
- 開発環境、ツールチェイン
- Hardhatが便利
- compile、deploy、verifyを活用している
- JavaScriptおよびTypeScript製のツールが多いので
- OpenZeppelinのライブラリがすごい… 基本はこれらを組み合わせて作り上げていく感じ
- テストネットGoerliでの動作確認はEtherscanのおかげでシュッとできて助かった
- GitHub Copilotが提示してくれるコードがけっこう使える
- Hardhatが便利
- Pochi Bukuroはトークンの画像がオフチェーンで、それ以外はオンチェーン
https://etherscan.io/address/0x3e305a30df4b3681cdcbc3c42ad51cac82aea718#code にスマートコントラクトのコンストラクタに渡した引数の内容が記録されている。_designer にchanohaのアドレス、_programmer にぼくのアドレスを設定してある。Pochi Bukuroが利用されたときのフィーの自動分配を実装できたのはよかった。ザ・スマートコントラクトという感じの体験。
今後
- スマートコントラクトとインタラクトするウェブページをつくってみたい
- フルオンチェーンのトークンをつくってみたい
- とにかくいろんなトークンを設計・実装して知見をためて、トークンでなにかをやりたい人のまともな相談相手が務まるくらいになりたい
- トークンをつくって配る人に向けた便利ツールを開発して提供してみたい
- スマートコントラクトが別のスマートコントラクトと連動?協調?するような、コンポーザビリティを実感できるようなやつをつくってみたい


