Blockchain code Metaverse VR

SmartContract×VR×Crypto(608)

スポンサーリンク

//tips

暑すぎた。

//smart contract

先の内容につづけてTruffle, Mocha, Chaiを利用してdeployの流れについても確認。

cryptozombies.ioもまだ開発途中なので、ページを変えるときはURLに数値をダイレクト入力しないと元の場所に戻れないなどの問題がある。あとは途中までしか開発されていないので開発されている部分をここからは英語で確認していく形になる。

https://cryptozombies.io/en/lesson/11/chapter/1

touch test/CryptoZombies.jsを実行してテストを実施していく。

まずはスマートコントラクトをコンパイルするときはabiを含む JSON fileが生成され、buildフォルダ下に格納される。それから、deployをmigration機能を使って行う。

you compile a smart contract, the Solidity compiler generates a JSON file (referred to as build artifacts) which contains the binary representation of that contract and saves it in the build/contracts folder.

Next, when you run a migration, Truffle updates this file with the information related to that network.

コントラクトをこのようにテストできる。artifacts.requireの部分はコンパイル部分build artifactsから引っ張りますよということのよう。デプロイ前にこれらの検証をしておくことでデプロイ時の失敗をなくせることができる。テスト環境はGanacheで良い。

const CryptoZombies = artifacts.require("CryptoZombies");

contract("CryptoZombies", (accounts) => {
it("should be able to create a new zombie", () => {
})
})

contract abstractionのままではチェーンと対話できないので、コントラクトをインスタンス化してJavaScriptオブジェクトとする。

const contractInstance = await MyAwesomeContract.new();とすることでインスタンス化できる。

const zombieNames = ["Zombie #1", "Zombie #2"];
contractInstance.createRandomZombie(zombieNames[0]);

テスト環境でartifacts.requireを利用するとTruffleが自動的にログを生成してくれてresult.logs[0].args.name. の形でid、_dna、tx、receipt.statusなどを受け取ることが可能。

下記テストをtruffle testで実行すると、Aliceに最初のゾンビを与えることができる。

contract("CryptoZombies", (accounts) => {
let [alice, bob] = accounts;
it("should be able to create a new zombie", async () => {
const contractInstance = await CryptoZombies.new();
const result = await contractInstance.createRandomZombie(zombieNames[0], {from: alice});
assert.equal(result.receipt.status, true);
assert.equal(result.logs[0].args.name, zombieNames[0]);
})

人気の記事

1

コロナによる需要変化 コロナパンデミックの影響で、人々は外に出られなくなり、自宅で過ごす時間が増えました。 この自粛ムードの中、下記のようなビジネスの需要変化が引き起こされています。 【利用者減少】 ...

2

米国レストランの決済時に毎日お世話になっていた「Square」のビジネスモデルについて本日はふれていきたいと思います。 「Square」とは、ネットにつながったモバイル端末と専用のカードリーダーを用意 ...

3

無料でネットショップを開けるアプリとして多くの人に驚きを与えたBASE株式会社が、2019年10月25日東証マザーズに上場しました。2020年2月時点で90万店を超えるショップを抱えるまでに成長してい ...

4

2011年にサービスを開始してから圧倒的な成長率を誇るインテリア通販サイト 【FLYMEe/フライミー】を皆さんご存じでしょうか。 「自分のイメージするインテリア、本当に欲しいインテリアがどこにあるの ...

5

ナイキのSNKRSが、なぜこれほどまでに人気なのか?調べてみました。 きっかけは米国での友達との会話。彼は自分のシューズをみせて、「これ20万円もしたんだぜ。」と語ってくれました。 あまり靴に興味がな ...

-Blockchain, code, Metaverse, VR
-, ,

Copyright© BUSINESS HUNTER , 2022 All Rights Reserved Powered by AFFINGER5.