truffle devlop控制台与合约交互

开学了,ctf比赛加上课程,就没怎么看合约了。
(实话是打游戏呢)

今天复习下之前的东西,顺便把web3.js开进去。
按照课程进度,接下来会用truffle写一个投票dapp的demo。

还是一如既往的遇到很多坑。
(接下来还是记录的详细点吧。过了这么多天回来看之前的记录都看不懂了…)

——————————
首先初始一个工程:

truffle init

truffle devlop控制台与合约交互_第1张图片
如果巨慢可移步:镜像站大全

然后创建合约和对应js文件:
truffle devlop控制台与合约交互_第2张图片
js文件格式:编号_xx_xx.js

如果有需要,可以改solidity版本
这里vscode的改动有两种方法。
1.远程的。
2.本地的。
因为远程的太慢,我这里放个本地的文件,用作备忘吧。不要积分的哈:
sol0.4.21
truffle devlop控制台与合约交互_第3张图片
然后是truffle中编译器的版本:
truffle devlop控制台与合约交互_第4张图片
这里有个坑,
当用0.4.x的时候我发现node版本不能太高,不然会报这个错:

Error: TypeError [ERR_INVALID_REPL_INPUT]: Listeners for `uncaughtException` cannot be used in the REPL at Object.compile

之前遇到我是回退了node版本,现在直接用0.5.16就不会报错了。

还有个坑。。。
把truffle的编译器版本改了最好version看看:
truffle devlop控制台与合约交互_第5张图片
确定了再进truffle devlop
不然。。 会卡一晚上。我都要哭了。

然后写合约和js文件:
truffle devlop控制台与合约交互_第6张图片
在js中引入写的是合约名字,不是文件名。
比如我文件名是pcl,但合约是calc。

再然后就是进devlop控制台一路火光加闪电的编译部署:
truffle devlop控制台与合约交互_第7张图片
本地搭建吧就是快,一秒两合约。

完了之后获取合约实例:
con = calc.deployed().then(t=>con=t)

之后就可以操作合约了:
truffle devlop控制台与合约交互_第8张图片

上次安利的Windows powershell是真的好用!

你可能感兴趣的:(区块链学习-以太坊)