韓国で開催されるハッカソンに参加したい(韓国に行ってみたいだけw)のでAptosに入門していきます。
Petraというウォレットのインストール
https://aptos.dev/guides/install-petra-wallet-extension
Aptos CLIのダウンロード
https://aptos.dev/cli-tools/build-aptos-cli
このチュートリアルをやっていきます
https://aptos.dev/tutorials/your-first-transaction/
pnpm run transfer_coin のところで nodenv: version `v16.14.0' is not installed が出たのでnodenv install 16.14.0でインストール
再び実行するとトランザクションを起こせた
![Image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Ffrqcsxz2%2Fproduction%2F0b1baad175dd1b4be02740b77a395a49c31437c5-1408x652.png%3Fw%3D1408%26auto%3Dformat&w=3840&q=75)
transfer_coin.tsのコードを読みます。Typescriptなので読める。少し安心。
続いてこちらのチュートリアル、NFTについて
https://aptos.dev/tutorials/your-first-nft
セットアップ部分はすでにやっているので飛ばしてStep3から
create collectionしたのちにcreate tokenしている。
![Image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Ffrqcsxz2%2Fproduction%2F35adece65d18112f19f171575add34a8882ce81b-1300x454.png%3Fw%3D1300%26auto%3Dformat&w=3840&q=75)
![Image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Ffrqcsxz2%2Fproduction%2F997cfb2b2febd4be86e67d3af3cc7bb96ecd6485-1092x410.png%3Fw%3D1092%26auto%3Dformat&w=3840&q=75)
EVMと同じ感じだろうか。
コレクションとトークンのデータはクリエイターのアカウントの中に保存されているらしい。ここはEVMとは概念が違うところ
![Image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Ffrqcsxz2%2Fproduction%2F4d1de3a8f45701f4fd589806b4d366be70fb314b-1678x278.png%3Fw%3D1678%26auto%3Dformat&w=3840&q=75)
欲しくないNFTを勝手に送りつけられないように、OfferとClaimという手順を踏む仕様にしているらしい。
![Image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Ffrqcsxz2%2Fproduction%2F959d7dd052e1a648f393137cd5d915e8f264c476-1694x346.png%3Fw%3D1694%26auto%3Dformat&w=3840&q=75)
一方的なトークンの送付は複数の署名を必要とするmultiagent transactionでならできるらしい
![Image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Ffrqcsxz2%2Fproduction%2F73f771e062c20b8db811ebb4a5de8e7b3d3386c2-1664x384.png%3Fw%3D1664%26auto%3Dformat&w=3840&q=75)
続いてこちらのYour first Dappに挑戦していきます。
https://aptos.dev/tutorials/your-first-dapp
STEP2まで進めるとこうなります。
![Image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Ffrqcsxz2%2Fproduction%2Fb7136c184fbdbcfa63d4949b1b242a57a6129431-1620x274.png%3Fw%3D1620%26auto%3Dformat&w=3840&q=75)
Step4でMove moduleを公開しました
https://explorer.aptoslabs.com/account/....
![Image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Ffrqcsxz2%2Fproduction%2F762de82c75be271a49344c90fa2c909420a99dba-2808x216.png%3Fw%3D2000%26auto%3Dformat&w=3840&q=75)
Step5までやるとこうなりました。
![Image](/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Ffrqcsxz2%2Fproduction%2F699e7837589f988118f2f9d49e0fa51a347509b1-2460x812.png%3Fw%3D2000%26auto%3Dformat&w=3840&q=75)
Step6で少しつまづきました。
const resourceType =`${address}::message::MessageHolder`;
このアドレスの部分が、フロントで取得できる部分は0x0から始まるのに対して、getAccountResourcesで取れるデータ内では0xで始まるという事態が起きました。この部分は省略しました。ご存じの方いたら教えてください。
今回は主にフロントエンドの連携の方法がわかったので、次はMoveを本格的に触ってみようと思います。