EOS各种问题汇总,EOS入门必读

传送门

    1.【EOS开发环境搭建源码编译】

    2.【EOS源码调试】

    3.【EOS智能合约开发实践】

    4.【主网测试网络实践】

EOS资源问题

    消耗的CPU,NET资源何时恢复,目前是一天内不执行任何action,消耗的CPU就会恢复,但是它不是自动恢复的,所以一天后你执行get account会发现消耗的CPU量没有变化。但是你如果执行一个新的action,然后就会发现消耗的CPU, NET资源信息更新了,变少了。有CPU, NET, RAM相关问题,可以访问【EOS互助社区】

编译安装问题

    1.源码拉取的时候必须使用--recursive

git clone https://github.com/eosio/eos --recursive

  

    2.源码拉取不完整

        这是因为github网络慢,参考这篇博文【github访问慢和clone慢解决方案

  3.eosio_build.sh执行后很长时间没反应

    这是因为编译过程中会下载很多依赖库,其中LLVM这个库耗时最久,除了VPN没有什么太好的方法。有网友说使用国内brew源,但同时也有很多人说这个brew国内源也不太好。

  4.内存不够错误

    

Beginning build version: 1.2

    2018年 05月 18日 星期五 07:13:36 UTC

    User: itleaks

    git head id: 29c30f10650102ffb000bb1a287dc285d582275f

    Current branch: master

    ARCHITECTURE: Linux

    OS name: Ubuntu

    OS Version: 16.04

    CPU speed: 3095.998Mhz

    CPU cores: 1

    Physical Memory: 1993 Mgb

    Disk install: /dev/sda1

    Disk space total: 47G

    Disk space available: 31G

    Your system must have 7 or more Gigabytes of physical memory installed.

    Exiting now.

 

比如ubuntu平台就修改./scripts/eosio_build_ubuntu.sh文件,将下面的7000修改即可

数据目录

钱包数据目录

 

   删除文件即可删除对应钱包

~/eosio-wallet/xxx

 

节点数据目录

 程序非正常崩溃,退出可能会出现如下错误

 database dirty flag set (likely due to unclean shutdown) replay or resync required

解决方法:

      添加--hard-replay-blockchain或者--delete-all-blocks参数重启也可以

      或者然后按如下方式清除数据重启即可

ubuntu:

     ~/.local/share/eosio/

Mac:

    ~/Library/Application\ Support/eosio/

    删掉nodeos,删除这个目录,重启nodeos即可重置账号,智能合约等各种数据

防范方法:

      不要使用pkill -9 nodeos, 而是采用pkill -2 nodeos

      定时备份数据,出现上述问题后可以使用备份数据,然后系统会从备份数据开始同步,同步时间大大缩短。

命令操作疑点

   创建账号的creator参数

cleos create account [OPTIONS] creator name OwnerKey ActiveKey

   该命令只适合本地私有链且还没有部署eosio.system合约前使用,否则必须用cleos system newaccount  creator name

    creator必须是一个已经存在的账号,这里就有个问题了,我们第一次创建账号,从哪里获取这个creator账号?

    本地私有网络下:这个账号就是eosio, eosio这个特殊账号是在nodeos启动时通过参数-p eosio自动生成的,且这个账号的private key,和public key是hardcode固定的。当然搭建私有网络你可以通过修改config文件来修改这两个值,但是你同时也得修改这个私有网络的其他节点对应的private key, public key值

   其他网络(主网,测试网络):你需要通过其他人创建,或者通过水龙头渠道创建你的第一个账号,然后你可以通过你的第一个账号创建其他账号  

eos4.2版本后打印没有输出

    带--contracts-console参数启动nodeos

eosiocpp智能合约编译工具找不到

    这是因为你没有调用install安装工具

cd $EOS_SOURCE/build

sudo make install

      eosio1.2后该命令也不起作用,因为install命令不再将eosiocpp等可执行文件安装在系统path了,需要手工设置

eosio默认账号私钥导入

cleos --wallet-url http://127.0.0.1:8888 wallet create 

//默认私钥一般是下面这个,如果不一致,请检测config.json里的signature-provider这个后面的 key

cleos --wallet-url http://127.0.0.1:8888 wallet import  5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3

超级节点,普通节点,主链,私有链

    超级节点:DPOS协议的21+1个代表节点,目前初始的超级节点正在竞选中,理论上超级节点后续会动态变化,但是"虹吸效应"告诉我们强者愈强,弱则愈弱,估计短期变化可能性不大

    普通节点:负责投票,获取区块信息,发送交易,提交应用

    主链:  2018年6月3日上线,就几天了

    私有链: 本地搭建的链,自己玩EOS,应用开发测试环境

智能合约开发工具

     0)推荐使用js4eos, 纯Javascript开发环境, npm install -g js4eos 安装即可使用

     1) vim, vscode编写c++智能合约代码,然后通过eosiocpp工具编译生成.wast, .abi文件然后部署,适合中小项目

     2) 参考EOS_SOURCE_DIR/contracts/eosio.bios智能合约在EOS_SOURCE_DIR/contracts新增一个合约目录xxx,使用CMake编译,然后在EOS_SOURCE_DIR目录下执行./eosio_build.sh,然后在EOS_SOURCE_DIR/build/contracts/xx会生成.wast,.abi文件,然后部署。适合大项目

     3)晒晒日光浴,喝喝茶,等待类似以太坊里truffle/browser-solidity的便利化开发环境

备注

    以上问题只是我在使用学习EOS的过程中遇到的问题,大家有什么问题可以在评论里留言,我会尽快回复并补充到这个博文

|**************************************************
* 本文来自CSDN博主"爱踢门",喜欢请点关注
* 转载请标明出处:http://blog.csdn.net/itleaks
***************************************************|

如果你对EOS,ETH技术及开发感兴趣,请入QQ群讨论: 829789117


如需实时查看最新文章,请关注公众号"区块链斜杠青年",一起探索区块链未来

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值