Blockchain code Metaverse VR

Unity×VR×Blockchain(354)

スポンサーリンク

//tips

//基本情報理解

MTBF(Mean Time Between Failures)とは、平均故障間隔のことで、システムに障害が発生してから次に故障が発生するまでの平均時間のことを指す。

一方で、MTTR(Mean Time Between Repair)は、平均修理時間のことで、システムに故障が発生してから、修理が完了して復旧するまでの平均時間のこと。

断片化した未使用領域を詰めて大きな未使用領域を作成することをメモリコンパクションという。開放して利用するガーベジコレクションとは異なる。

//pitch deck

Adpushup はA/B testを通して広告収入を最大化するサポートを行う企業で $632,000以上の出資を受けている。

広告非表示機能という問題とそれに対する解決策となる商品、そしてなぜ今それを実行する必要があるのかを説明しており、商品の右肩上がりのトランザクション推移なども提示しており、シンプルにインパクトがある形でまとまっており、参考になる。

https://www.pitchdeckhunt.com/pitch-decks/adpushup

//smart contract

コントラクトをデプロイできるかのテスト。greeter_test.jsのスクリプトとして下記を記載。

const GreeterContract=artifacts.require("Greeter");

contract("Greeter",()=>{

it("has been deployed successfully",async()=>{
const greeter=await GreeterContract.deployed();
assert(greeter,"contract was not deployed");
});
});

Truffleではartifacts.require関数を使うことで、コンパイル済みのコントラクトを読みこんで操作できるよう。

Contract関数は組み込みのdescribeのように動作し、これを使うことでtruffleのクリーンルーム機能の恩恵も受けることができるとのこと。

クリーン機能は新たなコントラクトがデプロイされ、その中でテストが実行されるので、異なるテストグループ間で情報が共有されるのを防ぐことができる。

ブロックチェーンとのやりとりは全て非同期で行われるため、async/await構文を使用されている。

greeterがtrueならテストは成功となる。

truffle testをターミナルに打ち込んでみるも動作せず。truffle test test/greeter_test.jsとするも効果なし。

エラーの記載がターミナルに現れるはずだがそれもなく。しょうがなくGreeter.solを作成して再度観察。

pragma solidity >= 0.4.0 < 0.7.0;

contract Greeter{
}

まだダメ。さらにtouch migrations/2_deploy_greeter.jsも追加。

const GreeterContract=artifacts.require("Greeter");

module.exports=function(deployer){
deployer.deploy(GreeterContract);
}

きちんとtruffleが入っているのか確認したら一式入っているよう。

truffle version
Truffle v5.1.31 (core: 5.1.31)
Solidity v0.5.16 (solc-js)
Node v16.2.0
Web3.js v1.2.1

まずはhello worldを言わせる作戦に変更。

truffle create contract HelloWorld

これでHelloWorld.solをcontractsディレクトリ内に作成。

pragma solidity >=0.4.25 <0.6.0;

contract HelloWorld {
string word;

constructor(string memory _word) public {
word = _word;
}

function getWord() public view returns(string memory) {
return word;
}

function changeWord(string memory _word) public {
word = _word;
}

}

deploy_contracts.jsを書き換え。

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

module.exports = (deployer) => {
const word = "Hello";
deployer.deploy(HelloWorld, word);
};

npm install -g ganache-cli

ganache-cli

truffle console
truffle(development)> let instance = await HelloWorld.deployed()
Uncaught:
Error: HelloWorld has not been deployed to detected network (network/artifact mismatch)

下記を参考に色々チャレンジ。

参考:

Truffle v5 を利用する [Solidity version 0.5]

なんとかhelloを出せた。migrationフォルダの中のファイルの数字を消してはいけないことや順番に数字を付与していくなどのルールがわかってやっと辿り着いた。

truffle console

truffle(development)> let instance = await HelloWorld.deployed()
undefined

truffle(development)> instance.getWord()
'Hello'

いやあ、これはバージョンが変わるにつれてかなりの変化を遂げている可能性がある。厄介なことになってる。今はtruffle testは使えないのかなあ。

要因を色々調べていくとtruffle-config.js ファイルの networks設定を行わないとエラー表示も行われず先に進めない現象になることがわかった。逆にこれさえ設定しておけばtruffle testのコマンドは使える。

truffle-config.jsの下記の設定が変わったのだろうか。

development: {
host: "127.0.0.1", // Localhost (default: none)
port: 8545, // Standard Ethereum port (default: none)
network_id: "*", // Any network (default: none)
},

Using network 'development’.を使用することが正解なのか?

一旦このまま進めてみる。なぜそのコマンドを叩くとその結果となるのかの部分と純粋にjsの知識を強化せねば。少しずつ攻略する。

人気の記事

1

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

2

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

3

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

4

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

5

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

-Blockchain, code, Metaverse, VR
-, ,

Copyright© BUSINESS HACKER , 2021 All Rights Reserved Powered by AFFINGER5.