EOS编译安装问题

加入主网编译,请参考 github项目:https://github.com/CryptoLions/EOS-MainNet  

 

 

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修改即可

 5.mac环境安装报错

  参考知乎文章

https://zhuanlan.zhihu.com/p/36090355

export LLVM_DIR=/usr/local/Cellar/llvm/4.0.1/lib/cmake

brew unlink gettext&& brew link –force gettext

数据目录

钱包数据目录

 

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

~/eosio-wallet/xxx

节点链数据目录

 

ubuntu:

     ~/.local/share/eosio/

Mac:

    ~/Library/Application\ Support/eosio/

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

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

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

cd $EOS_SOURCE/build

sudo make install

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

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

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

主链:  2018年6月上线

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

智能合约开发工具

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文件,然后部署。适合大项目

 

Programs & Tools

  • nodeos – server-side blockchain node component

  • cleos – command line interface to interact with the blockchain and to manage wallets

  • keosd – component that manages EOSIO wallets

cleos

启动本地单节点区块链

$ nodeos -e -p eosio –plugin eosio::chain_api_plugin –plugin eosio::history_api_plugin

plugin = eosio::chain_api_plugin// Enable Chain API

plugin = eosio::wallet_api_plugin// Enable Wallet API

 

启动时出现的异常处理

std::exception::what: database dirty flag set

命令添加

–replay-blockchain

 

创建默认钱包

$ cleos wallet create

$ cleos wallet create -n ${wallet_name}

passowrd:

default:PW5KXcKrwMXuzBoZgvGvcxEhLhF7awYvqGn4jHogGFqKjv1Mou2VA

wallet_forrest:PW5J2FRGLsBpW5AqsGLZwQtQczjk1ydtgnjt5odKdFrBs8gda4FyP

wallet_test:PW5KUt2rSfb97vQgbS5fmnDhy7d8VukEK1Q8HRBsZY5A2y7dSkWoy

 

查询钱包

$ cleos wallet list

Wallets:

[

  “wallet_forrest *”,

  “wallet_test *”

]

 

解锁默认钱包

$ cleos wallet unlock –password PW5KXcKrwMXuzBoZgvGvcxEhLhF7awYvqGn4jHogGFqKjv1Mou2VA

$ cleos wallet unlock -n wallet_forrest –password PW5J2FRGLsBpW5AqsGLZwQtQczjk1ydtgnjt5odKdFrBs8gda4FyP

$ cleos wallet unlock

password:

 

锁定默认钱包

$ cleos wallet lock

创建Key

$ cleos create key

查询钱包keys

$ cleos wallet keys

Private key: 5J1MyitfFcj3MwZfBBHgDafWkixE3U1YTJ7dyDzbED9kZ51X8eg

Public key: EOS7zwPu8PWDdJMqBDGx2j4vDJ1i8dmCTR3eEe6AaWbHec1Mwrmrf

密钥导入钱包

$ cleos wallet import 5J1MyitfFcj3MwZfBBHgDafWkixE3U1YTJ7dyDzbED9kZ51X8eg

创建账户

$ cleos create account eosio user EOS7zwPu8PWDdJMqBDGx2j4vDJ1i8dmCTR3eEe6AaWbHec1Mwrmrf EOS7zwPu8PWDdJMqBDGx2j4vDJ1i8dmCTR3eEe6AaWbHec1Mwrmrf

注:create account子命令需要两个公钥,一个用于OwnerKey,另一个用于ActiveKey

### 如何在Linux上安装EOS 要在Linux平台上成功安装EOS,可以遵循以下指南。此过程主要基于Ubuntu Linux环境下的操作说明。 #### 准备工作 确保您的系统已更新至最新状态并满足基本依赖项的要求[^3]。可以通过执行以下命令完成系统的升级以及必要组件的安装: ```bash sudo apt update && sudo apt upgrade -y sudo apt install -y git build-essential autoconf libtool curl unzip cmake pkg-config ``` #### 获取源码 访问官方仓库获取最新的EOS源代码是一个重要的步骤。通过克隆指定的Git存储库实现这一目标: ```bash git clone https://github.com/EOSIO/eos.git --recursive cd eos ``` 这里需要注意的是,如果遇到网络连接问题或者速度较慢的情况,可以选择镜像站点作为替代方案,例如引用中的项目地址[^1]可能提供类似的资源支持。 #### 编译构建 一旦获得了完整的源文件之后,则需按照标准流程编译生成可执行程序。具体做法如下所示: ```bash ./eosio_build.sh ``` 该脚本会自动处理大部分复杂配置任务,并最终产出所需二进制成果物。 #### 配置启动 当所有前期准备工作都已完成以后,就可以着手设置初始参数并尝试运行节点实例了。一般情况下,默认端口为8888用于HTTP JSON-RPC API监听;9876则服务于P2P网络通讯需求[^4]。 ```bash nodeosd.sh --plugin eosio::chain_api_plugin \ --plugin eosio::history_api_plugin > nodeos.log 2>&1 & ``` 以上指令将会以前台模式开启服务进程并将日志重定向保存到单独文件当中以便后续排查分析之用。 --- #### 注意事项 在整个过程中可能会碰到各种各样的错误提示或是兼容性挑战,此时查阅相关文档资料就显得尤为重要。另外值得注意的一点是,尽管某些特定功能模块确实存在图形化界面辅助开发调试的作用[^2],但对于绝大多数常规部署场景而言并不强制要求必须具备此类条件。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值