vntchain学习笔记
Posted ahy231
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vntchain学习笔记相关的知识,希望对你有一定的参考价值。
参考资料
vntchain github文档
go-vnt github
vnt智能合约的编译和部署工具bottle
ERC721协议智能合约范例
在ubuntu18上编译bottle源码失败
原因是bottle不支持ubuntu18,根据文档,目前仅支持14.04及16.06。
使用docker镜像vntchain/bottle:0.6.0编译智能合约失败
报错:panic unsupport mutable。
原因未知,改为使用vntchain/bottle:0.6.1后,重新编译智能合约成功。
使用docker镜像vntchain/bottle:0.6.1执行init报错
报错:warning: directory is’t empty, can’t create dapp project
暂未解决,对build
操作没有影响。
使用docker镜像build时,报错:找不到contracts目录
原因是执行docker run命令的时候,没法让bottle在指定文件夹下运行,尝试在虚拟机中安装ubuntu16进行bottle bulid,但是还是失败了。于是不再尝试,而是直接用compile生成的abi文件部署智能合约。
go-vnt搭建测试链后,节点连接失败
我遇到的原因是没有对每一个节点都初始化:
由于文档中没有给出所有节点初始化的代码,因此我忘记了初始化所有节点。
rpc报错undefined
原因是没有打开gvnt的rpc。
在gvnt运行的命令后加上如下可选参数:
--rpc
--rpcaddr 127.0.0.1
--rpcport 8545
--rpcapi "db,core,net,vnt,personal"
加上这些参数后,gvnt会打开rpc端口,在node中能直接通过js api访问rpc
私链搭建完成后,没有生成区块
对于见证人,需要使用bp.start()
命令开始生成区块。
// 先解锁账户,以coinbase账户为例
personal.unlockAccount(vnt.core.coinbase, "your password", 24*60*60*1000)
// 再开始生成区块
bp.start()
// 结束生成区块
bp.stop()
要生成区块,至少需要三个结点同时开启bp.start()
,随后你可以通过vnt.core.blockNumber
查看当前最高区块数量。
vnt.core.blockNumber()
// 13
vnt.core.blockNumber()
// 14
Error: new BigNumber() not a base 16 number
原因:合约地址写错了
编译器将string类型解释为array
合约中存储如下结构的结构体
结果在编译时就报错,报错内容类似于把closed
变量当成array
来解释。
解决办法:互换closed
和right_of_adaption
位置。
未完待续……
(转)Akka学习笔记
Akka学习笔记系列文章:
《Akka学习笔记:ACTORS介绍》
《Akka学习笔记:Actor消息传递(1)》
《Akka学习笔记:Actor消息传递(2)》
《Akka学习笔记:日志》
《Akka学习笔记:测试Actors》
《Akka学习笔记:Actor消息处理-请求和响应(1) 》
《Akka学习笔记:Actor消息处理-请求和响应(2) 》
《Akka学习笔记:ActorSystem(配置)》
《Akka学习笔记:ActorSystem(调度)》
以上是关于vntchain学习笔记的主要内容,如果未能解决你的问题,请参考以下文章