eos.io区块链平台构建开发dapp的环境安装

区块链3.0:拥抱EOS 链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 EOS是当下最火的区块链技术,被社会广泛看好为下一代区块链3.0。不同于以太坊的学习,EOS的主语言是C++,本文作为EOS研究的首篇文章,重点介绍EOS的创新点,它的周边生态,各种概念原理的解释,以及它被看好的原因。而针对EOS的源码学习,原理实现以及并行的C++语言的快速学习与掌握,我会在接下来制定一系列学习计划... 阅读详情

本文主要介绍如何构建在EOS平台运行的DApp开发环境。

EOSIO构成组件

EOSIO是由三个component组成的。

  • nodeos:管理区块链节点的组件。
  • keosd:管理钱包的组件。
  • cleos:控制区块链和钱包CLI工具。

安装EOSIO

此文档以MacOS Darwin 10.12为基准。

在EOSIO的github库下载源码。

$ git clone https://github.com/EOSIO/eos --recursive

要安装xcode和homebrew代码。如果还没有安装的情况,先设置xcodehomebrew

源代码包含构建脚本及构建实现。

$ cd eos
$ ./eosio_build.sh

如果成功的话,就会出现下面的信息。

[100%] Linking CXX executable unit_test

[100%] Built target unit_test

_______  _______  _______ _________ _______

(  ____ \(  ___  )(  ____ \\__   __/(  ___  )

| (    \/| (   ) || (    \/   ) (   | (   ) |

| (__    | |   | || (_____    | |   | |   | |

|  __)   | |   | |(_____  )   | |   | |   | |

| (      | |   | |      ) |   | |   | |   | |

| (____/\| (___) |/\____) |___) (___| (___) |

(_______/(_______)\_______)\_______/(_______)

EOSIO has been successfully built. 00:11:21

To verify your installation run the following commands:

/usr/local/bin/mongod -f /usr/local/etc/mongod.conf &

cd /Users/scion/git/eos/build; make test

For more information:

EOSIO website: https://eos.io

EOSIO Telegram channel @ https://t.me/EOSProject

EOSIO resources: https://eos.io/resources/

EOSIO Stack Exchange: https://eosio.stackexchange.com

EOSIO wiki: https://github.com/EOSIO/eos/wiki

解决问题

  • 如果build过程中出现这样的error时:
CMake Error at /usr/local/Cellar/cmake/3.11.3/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
 Failed to find Gettext libintl (missing: Intl_INCLUDE_DIR)
Call Stack (most recent call first):
 /usr/local/Cellar/cmake/3.11.3/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
 /usr/local/Cellar/cmake/3.11.3/share/cmake/Modules/FindIntl.cmake:47 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
 programs/cleos/CMakeLists.txt:29 (find_package)

应该是homebrewgettext连接到了不正确的版本,更改连接信息就可以了:

$ brew link gettext — force

在环境变量文件(~/.profile)添加gettoxt path:

export PATH=”/usr/local/opt/gettext/bin:$PATH

参考:https://github.com/EOSIO/eos/issues/2174

  • 也有可能发生这种情况:
Mac OS 10.13.3 build error “path mongo-cxx-driver already exists

这样解决:

sudo rm -rf /tmp/mongo*
cd /path/to/eos
rm -rf build/
git pull
git submodule update — init — recursive
./eosio_build.sh

参考:https://github.com/EOSIO/eos/issues/3197

验证

安装顺利完成。为了验证,执行下测试脚本。

$ /usr/local/bin/mongod -f /usr/local/etc/mongod.conf &

$ cd build/

$ make test

Running tests...

Test project /Users/scion/git/eos/build

Start  1: test_cypher_suites

1/35 Test  #1: test_cypher_suites ...................   Passed    0.04 sec

Start  2: validate_simple.token_abi

2/35 Test  #2: validate_simple.token_abi ............   Passed    0.08 sec

Start  3: validate_eosio.token_abi

...

34/35 Test #34: restart-scenarios-test-hard_replay ...   Passed  151.83 sec

Start 35: validate_dirty_db_test

35/35 Test #35: validate_dirty_db_test ...............   Passed    4.42 sec

100% tests passed, 0 tests failed out of 35

下面完成安装:

$ cd build

$ sudo make install

运行EOSIO

试着运行EOSIO的组件吧。这是为了构建开发环境,所以可以先用一个节点。

nodeos

用带有option的命令直接执行就行了

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

其中:
- e : 区块生成
- p eosio : 区块生产者名称
— plugin eosio::chain_api_plugin : 区块链相关API插件
— plugin eosio::history_api_plugin : 历史记录相关API插件

可以用配置文件替换参数。
- config file位置: ~/Library/Application Support/eosio/nodeos/config/config.ini
- 当nodeos第一次运行时,该文件自动生成。

$ vi ~/Library/Application\ Support/eosio/nodeos/config/config.ini

...
# enable-stale-production = false
enable-stale-production = true
...
# producer-name =
producer-name = eosio
...
plugin = eosio::chain_api_plugin
plugin = eosio::history_api_plugin
...

执行nodeos :

$ nodeos

如果运行正常,可以看到在控制台上0.5秒生成block的信息。

为了确认nodeos是否正常运行,让我们试试应用程序API接口。

在运行于8888端口的应用软件服务上试试HTTP Request

$ curl -k -v 'http://127.0.0.1:8888/v1/chain/get_info' -X GET

Note: Unnecessary use of -X or --request, GET is already inferred.
* Trying 127.0.0.1...
* TCP_NODELAY set
* Connected to 127.0.0.1 (127.0.0.1) port 8888 (#0)
> GET /v1/chain/get_info HTTP/1.1
> Host: 127.0.0.1:8888
> User-Agent: curl/7.54.0
> Accept: */*
>
< HTTP/1.1 200 OK
< Connection: close
< Content-Length: 529
< Content-type: application/json
< Server: WebSocket++/0.7.0
<
{"server_version":"012dc012","chain_id":"cf057bbfb72640471fd910bcb67639c22df9f92470936cddc1ade0e2f2e7dc4f","head_block_num":363,"last_irreversible_block_num":362,"last_irreversible_block_id":"0000016ad0238cef2f6a8de2098115ba155cbbc535122912a7a62f66097adbd6","head_block_id":"0000016b8cbb9154a759f2e61968fc1069fcf0ef9468886614d0538a97d96c61","head_block_time":"2018-06-12T07:10:59","head_block_producer":"eosio","virtual_block_cpu_limit":287075,"virtual_block_net_limit":1506023,"block_cpu_limit":199900,"block_net_limit":1048576}

或是利用cleos命令执行。

$ cleos get info
{
  "server_version": "012dc012",
  "chain_id": "cf057bbfb72640471fd910bcb67639c22df9f92470936cddc1ade0e2f2e7dc4f",
  "head_block_num": 580,
  "last_irreversible_block_num": 579,
  "last_irreversible_block_id": "000002436a1baaeb366b55995ddad7de0822f177d60a8c6e336e3f5fcb18ecc5",
  "head_block_id": "00000244e6923239c0649ddada0dd47a2df80df13fa825275df9ddac975e6162",
  "head_block_time": "2018-06-12T07:12:48",
  "head_block_producer": "eosio",
  "virtual_block_cpu_limit": 356561,
  "virtual_block_net_limit": 1871085,
  "block_cpu_limit": 199900,
  "block_net_limit": 1048576
}

keosd

同样用带有option的命令直接执行就行了

$ keosd — http-server-address=127.0.0.1:8900
  • http-server-address : REST API,nodeos默认端口是8888。cleos默认端口考虑使用8900,URL不可用。

只能通过替换keosd配置文件选项来运行。

  • 配置文件位置:~/eosio-wallet/config.ini
  • 第一次keosd操作,文件自动生成。
$ vi ~/eosio-wallet/config.ini

# http-server-address = 127.0.0.1:8888
http-server-address = 127.0.0.1:8900

执行keosd:

$ keosd

在运行于8900端口的应用软件服务上试试HTTP Request

$ curl -k -v ‘http://127.0.0.1:8900/v1/wallet/list_wallets' -X GET

Note: Unnecessary use of -X or — request, GET is already inferred.
* Trying 127.0.0.1* TCP_NODELAY set
* Connected to 127.0.0.1 (127.0.0.1) port 8900 (#0)
> GET /v1/wallet/list_wallets HTTP/1.1
> Host: 127.0.0.1:8900
> User-Agent: curl/7.54.0
> Accept: */*
>
< HTTP/1.1 200 OK
< Connection: close
< Content-Length: 2
< Content-type: application/json
< Server: WebSocket++/0.7.0
<
[]

或者使用cleos命令运行:

$ cleos wallet list
Wallets:
[]

nodeoskeosd可以正常工作,现在可以使用EOSIO服务了。

参考文件是EOSIO官方wiki文档,参考了本地环境的安装

另:《EOS智能合约与DApp开发入门》教程已经上线,爱学习等不及的可以抓紧体验一下:

EOS教程

这个教程帮助你快速入门EOS区块链去中心化应用的开发,内容涵盖EOS工具链、账户与钱包、发行代币、智能合约开发与部署、使用代码与智能合约交互等核心知识点,最后综合运用React和EOS的各知识点完成一个便签DApp的开发。

如果大家是学习以太坊的可以看这些教程:

  • web3j教程,主要是针对java和android程序员进行区块链以太坊开发的web3j详解。
  • 以太坊教程,主要介绍智能合约与dapp应用开发,适合入门。
  • 以太坊开发,主要是介绍使用node.js、mongodb、区块链、ipfs实现去中心化电商DApp实战,适合进阶。
  • python以太坊,主要是针对python工程师使用web3.py进行区块链以太坊开发的详解。
  • php以太坊,主要是介绍使用php进行智能合约开发交互,进行账号创建、交易、转账、代币开发以及过滤器和事件等内容。

博客原文在:这里

eos安装区块链开发环境 本文主要介绍如何构建EOS平台运行的DApp开发环境EOSIO构成组件 EOSIO是由三个component组成的。 image nodeos:管理区块链节点的组件。 keosd:管理钱包的组件。 cleos:控制区块链和钱包CLI工具。 安装EOSIO 此文档以MacOS Darwin 10.12为基准。 在EOSIO的github库下载源码。 $ git clon... 阅读详情

相关推荐

[项目实战]EOS单节点部署

介绍在如何进行EOS区块链单个节点环境的部署

CSDN@YuanDaiMa2048的博客 1245

以太坊DApp开发环境搭建-附件资源

以太坊DApp开发环境搭建-附件资源

以太坊DApp开发环境搭建-windows

本文档,适用于Windows 平台 (Win7/Win10 )下以太坊 DApp 开发环境的搭建 。

什么是Dapp?带你从零开始搭建一个Dapp

Dapp就是去中心化应用,它和我们平时使用的App(微信,支付宝等)只差了一个去中心化,如何理解这一去中心化?从体验层面来说:Dapp中并没有管理者,大家都是平等的,互相监督;而从技术层面来说:传统的App和部署在服务器的后端产生交互,而Dapp则是和部署在区块链上的智能合约产生交互。本篇文章带大家实现一个简单Dapp的搭建,通过实战让你进一步了解Dapp,跟着做就行了!

weixin_52628792的博客 6620

区块链3.0 EOS和TRON

区块链3.0 EOS和TRON EOS EOS.IO是一个由 Block.one 公司开发区块链操作平台,基于EOS.IO软件上所发行的加密货币名为EOSEOS.IO平台的目标是提供分散式应用程序托管﹑智能合约功能与分散式储存的企业方案,解决比特币和以太坊等区块链的可扩展性问题,并消除用户的交易费用。 EOS的优点: 支持数百万用户 免费使用 EOSdAPP使用无需费用,有别于E...

d744486832的博客 1832

区块链实验十 DAPP开发

以太坊网页智能合约部署

qy的博客 893

以太坊Dapp开发环境配置

环境:ubuntu20.0.04。

weixin_43756314的博客 339

第一章:以太坊DApp环境搭建

1.DApp 介绍 与 ganache 以太坊客户端介绍  2.初实solidity与remix 环境的搭建以及使用

eos开发dapp环境搭建

eos 编译教程启动服务器创建钱包,密钥对,账户和代币自己编写智能合约 本文是在eos平台开发dapp的一个简单介绍 eos 编译教程 安装eos对硬件和操作系统有一定要求,具体可以看到官网介绍 Amazon 2017.09 and higher Centos 7 Fedora 25 and higher (Fedora 27 recommended) Mint 18 Ubuntu 16....

JAVAInMyHeart的博客 1351

EOS DAPP开发教程 - 第1部分

为了帮助EOS区块链开发社区,Infinite X Labs的开发团队决定运行一系列专门用于EOS开发的教程。在上一个教程中,我们学习了如何设置用于构建EOS dApp开发环境。我们已经启动了我们的本地testnet,部署了一个EOS智能合约Demo并与之进行了互动。你可以找到所有从我们的EOS Blockchain开发系列教程的第一篇这里。 现在是时候升级了。如果不创建EOS dApp,学习...

Y03977211367Y的博客 1552

报名 | EOS智能合约DApp开发,学技术+拿大奖,等你发车!

比特币被称为区块链1.0,因为它开辟了数字加密货币的天下,走出了从0到1的决定性一步。以太坊被称为区块链2.0,因为它提供了可运行智能合约的图灵完备的虚拟机,带来了无限的...

区块链大本营 1100

区块链DApp开发环境embark初探

embark是什么embark是一款特定于Ethereum区块链平台DApp开发环境,辅助开发者创建、构建编译、测试和部署DApp,可无缝集成计算(EVM)、存储(IPFS/Swarm)和网络(Whisper)资源。embark的便捷之处在尝试embark并和truffle框架进行对比之后,我总结以下几个方面的优势:功能全面,上手迅速,反馈快速,可视化程度高,合约可调试。功能全面正如embark概览所言,embark并不仅仅是一款只提供构建编译、测试部署功能的开发工具,还是一整套的开发环境。它包含了智能合约自动部署,客户端(UI)开发,测试,DApp分布式托管(IPFS/Swarm),点对点

不容错过 | 超干货免费公开课「EOS区块链应用开发入门实战」,文末送书!

扫码报名,观看直播课区块链的发展,被认为是新一代互联网WEB 3.0。从原则上讲,要真正借鉴互联网成功发展几十年的经验,而不是简单照搬web 1.0 的方式各种炒作。今...

区块链大本营 1557

EOS.IO 软件开发路线图

本文档列出了对开发计划的一个高度概括的大纲,软件完成1.0版本的进度后,该文档会更新. 需要注意,这份路线图只适用于区块链软件,对于其他的工具和应用,如钱包软件,和区块链浏览器,并不适用. 在阶段一完成之后,其他这些软件和工具会有其各自具体的路线图文档.本文档中,所有内容均为草案形式,且随时可能变更,仅供参考. block.one不保证本路线图文件中信息的准确性,所有的信息"按照原样"提供,不存在...

老杨QQ122209017的博客 1623

区块链开发者观点:《Learn EOS》的作者 Christoph Michel

“在我看来,对开发者的教育是整个生态系统的重要组成部分,我看到了一个可以用我的知识来填补的大空白。最后,我们需要用户的采用,而开发人员构建的应用程序会带来用户。”

dfuse 的官方博客 420

以太坊之Windows DApp开发环境的搭建

安装 Node.js 可以使用官方长期支持的 8.10.0LTS 版本,根据 ubuntu 是 32 位还是 64 位,分别下载不同的预编译版本:

qq_30968913的博客 1279

EOS_Dapp开发环境和流程

EOS智能合约开发

YiQiLaiZhuaWa的博客 457

区块链搭建eos开发环境

如何快速搭建eos开发环境,少采坑

wq1228的博客 3878
上一篇: 用EOS区块链平台构建一个HelloWorld智能合约
下一篇: EOS区块链平台下如何配置调试智能合约
落叶无声9
博客等级 码龄12年 442粉丝 343原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值