//tips
//基本情報理解
グリーン購入とは環境への負荷の少ない持続的発展が可能な社会の構築を図るために、購入の必要性を十分に考慮し、環境負荷ができるだけかからない製品・サービスをそのような事業者から優先して購入すること。
デルファイ法は同じ内容の質問を複数の専門家からアンケート調査し、意見を統計的に集計していく手法。未知の問題に対して確度の高い見通しを得るための方法として開発された手法。
//pitch deck
クリエイティブなフリーランスと企業をつなぐプラットフォームTwineのpitchでは、企業側とフリーランス側の問題を解決するためのマッチングプラットフォーム。特にaudio-visualの観点からの企業コンテンツ提供とそのコンテンツをグループで作成するためのグルーピングの術を与えるもので、成長が理解できる内容。フリーランス側のグルーピングサポートのデモなどがあればもっとわかりやすかった。
https://www.pitchdeckhunt.com/pitch-decks/twine
//smart contract
無事にtruffle developが成功し、jsで簡単なコードを書いて反応を確かめた。
truffle(develop)> let a=1
undefined
truffle(develop)> a+3
4
無事に計算結果が出され成功。truffle develop後のターミナルはjsに対応している。
accounts
を呼ぶと先に作成したアカウントが表示される。
let balance=await web3.eth.getBalance(accounts[0]);
とした後に
balance
を表示させると
'100000000000000000000'
とアカウントの値が表示される。これはweiでの表示なのでethに直すために、
truffle(develop)> Number(balance)/10**18
100
となる。
他にもweb3.eth.getBlockNumber()でブロックの数のカウントができ、web3.eth.sendTransaction({from:accounts[0],to:accounts[1],value:'100’})とするとethを送れる。これらのものはweb3.jsの中のweb3.ethのドキュメントで見れるとのこと。
下準備はできたので、以前作ったコントラクトをデプロイする。
1_initial_migrationをコピーして新たなファイルを作成。
const ERC20=artifacts.require("ERC20");
//artifacts.requireはコンパイルしたコントラクトをインポートするということ
//"ERC20"はコントラクトを指す
//artifactsはコンパイルしたものがいっぱい入ったもの
const Dex=artifacts.require("Dex");
const toWei=(number)=>web3.utils.toWei(web3.utils.toBN(number),'ether');
//1eth=10^18wei
module.exports=async function (deployer){
//module.exportsは外部に輸出するもの
//async functionなので非同期関数
//ここにコントラクトをデプロイするコマンドを記載する
await deployer.deploy(ERC20,"Dai","DAI",toWei(10**10));
//()にはコンストラクターの中身を取る
const dai=await ERC20.deployed();
//インスタンスの取得
await deployer.deploy(ERC20,"Chainlink","LINK",toWei(10**6));
const link=await ERC20.deployed();
await deployer.deploy(ERC20,"Compound","COMP",toWei(10**4));
const comp=await ERC20.deployed();
await deployer.deploy(Dex,[dai.address,link.ddress,comp.address]);
const dex=await ERC20.deployed();
await dai.transfer(dex.address,toWei(10**10));
await link.transfer(dex.address,toWei(10**6));
await comp.transfer(dex.address,toWei(10**4));
}
意味は後から追うことにする。
ターミナルにmigrateと記載するとこれでデプロイできる。
エラーが発生しているので修正対応を行う。
Error: *** Deployment Failed ***
"Dex" -- invalid address (argument="address", value=undefined, code=INVALID_ARGUMENT, version=address/5.0.5) (argument=null, value=undefined, code=INVALID_ARGUMENT, version=abi/5.0.7).
.nodebrew/node/v12.0.0/lib/node_modules/truffle/build/webpack:/packages/deployer/src/deployment.js:365:1
at processTicksAndRejections (internal/process/task_queues.js:88:5)
- Fetching solc version list from solc-bin. Attempt #1
あうち。