建议和反馈

请填写你的反馈内容

EOS和基本智能合约初学者指南

2020-02-13 ·2792次阅读 ·读完需要9分钟

1.什么是Eosio?

Eosio是一种软件,它引入了区块链架构,并声称是支持Dapps的去中心化操作系统,它是在开源MIT软件许可下开发的。Block.one开发了eosio软件,它是一家领先的区块链解决方案公司,提供高性能的区块链解决方案。


该软件提供帐户,身份验证,数据库,异步通信以及跨多个CPU内核和/或群集的应用程序调度。


2. Eosio与其他区块链(主要是以太坊)有何不同?

Eosio具有更高的可扩展性,因为它声称每秒管理数百万个事务,他们之所以这样说,是因为它们使用了DPOS(委托权益证明)共识机制。

EOS通过水平可伸缩性提供智能合约的并行处理,它们通过向资源池中添加更多系统来实现水平可伸缩性。

他们计划完全免除交易费用,Eos采用所有权模型,即用户拥有并有权使用与其所占权益成比例的资源,而不必为每笔交易付费。


另外,请阅读我们关于智能合约的下一篇文章


需要先验知识:


C / C ++中级经验

区块链概念知识

Linux或命令行工具


EOSIO的架构


稍后将在需要时解释架构图中的所有术语,不要与该图混淆。


首先,您需要设置环境,并且必须安装所有依赖项和合同开发工具包才能在EOS区块链上创建钱包和帐户。


3.安装环境

3.1)下载依赖项:


码头工人


3.2)设置开发目录


命令:


Mkdir EOStest


镉EOStest

基本智能合约


3.3)获取Dockers映像


以下语句将下载一个包含已编译软件的Ubuntu映像。


docker pull eosio / eos:v1.4.2

初学者指南


3.4)引导节点和钱包


命令:


docker run —名称为eosio 

 -发布8888:8888 

 -发布127.0.0.1:5555:5555 

 —卷/ home / abhi_21094 / Desktop / EOStest:/ home / abhi_21094 / Desktop / EOStest 

 —分离 

eosio / eos:v1.4.2 

/ bin / bash -c 

“ keosd — http-server-address = 0.0.0.0:5555&exec nodeos -e -p eosio —插件eosio :: producer_plugin —插件eosio :: chain_api_plugin —插件eosio :: history_plugin —插件eosio :: history_api_plugin —插件eosio: :http_plugin -d / mnt / dev / data-config-dir / mnt / dev / config-http-服务器地址= 0.0.0.0:8888-access-control-allow-origin = *-Contracts-Console-http-validate -host = false — filter-on ='*'”

指南


这些设置完成以下任务:


将端口8888和5555转发到主机

将本地驱动器上的工作卷别名为docker容器。

在bash中运行Nodeos启动。此命令将加载所有基本插件,设置服务器地址,启用CORS并添加一些合同调试。

无限制地启用CORS(*)

3.5)检查安装


命令:


docker日志—尾部10个eosio


3.6)检查钱包


在终端中打开一个新标签


命令:


docker exec -it eosio bash

cleos — wallet-url http://127.0.0.1:5555钱包列表


现在keosd成功运行了,现在您应该知道在安装以及开发过程中将使用的以下术语。


什么是Cleos?


(cli + eos = cleos)—命令行界面,可与区块链进行交互并管理钱包。


什么是Nodeos?


nodeos(node + eos = nodeos)—核心EOSIO节点守护程序,可以使用插件进行配置以运行节点。


什么是Keosd?


(key + eos = keosd)-将EOSIO密钥安全存储在钱包中的组件。


3.7)检查Nodeos端点


这将检查RPC API是否正常工作


卷曲http:// localhost:7777 / v1 / chain / get_info

您也可以在浏览器中通过chain_api_plugin提供的内容进行检查


http:// localhost:7777 / v1 / chain / get_info

3.8)混混的高手


我们不需要在每次与keosd交互时都在dockers容器中输入bash,因此我们可以为它提供别名的解决方案


别名cleos ='docker exec -it eosio / opt / eosio / bin / cleos-网址http://127.0.0.1:7777-钱包网址http://127.0.0.1:5555'

在您的终端上执行此命令或将其添加到您的.bashrc文件中,您可以在家里找到.bashrc文件,它可能是隐藏文件,请使用cntrl + h快捷方式显示隐藏文件。


4.合同开发工具包(安装CDT)

CDT的缩写,是与合同编制有关的工具的集合,主要使用CDT来编制合同和生成ABI。


安装命令:


Wget https://github.com/eosio/eosio.cdt/releases/download/v1.3.2/eosio.cdt-1.3.2.x86_64-0.x86_64 .rpm

sudo yum install ./eosio.cdt-1.3.2.x86_64–0.x86_64.rpm

复制此命令并在您的终端中执行,您将获得以下结果


到目前为止,您已经成功设置了环境并安装了Contract开发工具包。现在,您将设置钱包和帐户,这是EOS真正非常有趣的部分


区块链。


5.创建开发钱包

5.1)创建一个钱包


要创建钱包,您需要使用以下命令输入docker容器bash


命令:


sudo docker exec -it eosio bash

之后输入钱包创建命令


cleos wallet create —控制台

使用-to-控制台是因为我们仅将其用于开发目的,而不是将其用于生产目的而用于生产-归档,因为它将返回您的钱包私有。


钱包默认关闭


命令:


Cleos钱包打开

Cleos钱包清单


如果您将获得以下结果,则说明您的钱包已创建并成功打开。


默认情况下,您的cleos钱包是锁定的,您需要使用以下命令将其解锁:cleos wallet unlock,您可以在执行命令cleos wallet list时看到锁定和解锁的钱包之间的区别,当cleos wallet list出现时,它将立即返回默认值而没有星号锁定之后


执行解锁命令,您可以看到星号标志,该标志表明现在钱包已解锁。


现在我们必须将密钥导入钱包


cleos钱包create_key

结果:创建了一个新的私有密钥,其公共密钥为:“ EOS8PEJ…GDJQY5Y”


通过执行此命令,您将获得公共密钥,如下所示,将其复制。


5.2)进口发展重点


cleos钱包进口

现在输入下面提供的eosio开发密钥:


5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3


现在,默认钱包已解锁,并且密钥已加载。您已准备好继续。


用例:部署,发行和转移令牌


我们正在实施令牌合约以发行令牌并转移到任何帐户/用户。


源代码可在EOSIO的GitHub上获得:


命令:


git clone https://github.com/EOSIO/eosio.contracts —分支v1.4.0 —单分支

确保您位于eosio合同目录中:


cd eosio.contracts / eosio.token

6)创建帐号

账户是授权的集合,存储在区块链上,用于识别发件人/收件人。


cleos创建帐户eosio eosio.token EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV

6.1)编制合同


eosio-cpp-我包括-o eosio.token.wasm src / eosio.token.cpp — abigen


6.2)部署合同


cleos设置合同eosio.token /home/abhi_21094/Desktop/EOStest/eosio.contracts/eosio.token — abi eosio.token.abi -p eosio.token@active

6.3)创建令牌


cleos推送操作eosio.token创建'[“ eosio”,“ 1000000000.0000 SYS”]'-p eosio.token@active


6.4)发行令牌


cleos推送操作eosio.token创建'{“ issuer”:“ eosio”,“ maximum_supply”:“ 1000000000.0000 SYS”}'-p eosio.token@active


6.5)将令牌从一个帐户转移到另一个帐户


cleos推送操作eosio.token传输'[“ alice”,“ bob”,“ 25.0000 SYS”,“ m”]'-p alice @ active


6.6)以JSON返回交易


cleos推送操作eosio.token问题'[“ alice”,“ 100.0000 SYS”,“ memo”]'-p eosio @ active -d -j


6.7)使用帐户名检查任何帐户的余额


cleos获取货币余额eosio.token bob SYS

25.00系统

cleos获取货币余额eosio.token爱丽丝SYS

75.00系统


做得好,您已经成功在EOSIO区块链上设置环境,创建钱包,账户,编译并部署了令牌智能合约。


评论(0)问答(0)
请先登录或注册

请先登陆或注册

相关推荐

DAO会成为又一个爆发的新热点 这次的想象空间要大得多

如果有对行业发展和消息比较敏感的读者,近期一定会发现,行业内DAO被提到的次数可以说是越来越多。6月的文章《下半年不应该错过的4大风口:ETH2.0、波卡、存储、DeFi》里,在DeFi发展三部曲里曾......
千斤 · 2020-09-10
469阅读 · 0赞赏 · 0问答

一文读懂 MakerDAO 多抵押代币紧急关停机制

今天,我们将为 Maker 用户介绍多抵押 DAI 中的 紧急关停机制,包括紧急关停是什么、怎样启动、在什么情况下会启动。以及对于 CDP 持有者和 DAI 的持有者而言,在紧急关停发生的时......
开发者小白 · 2020-09-08
429阅读 · 0赞赏 · 0问答

以太坊 2.0、分片、DAG、链下状态通道……概述区块链可扩展性的解决方案!

事实证明,可扩展性是当今采用区块链技术的最大障碍。虽然就安全性和去中心化而言,比特币是无可挑剔的,但就可扩展性 (以 TPS 或每秒交易次数来衡量) 而言,就完全不同了。与 Visa 的 1700 T......
BTC · 2020-09-08
722阅读 · 0赞赏 · 0问答

维基链WICC | 项目进展周报第80期(08.31-09.06)

技术 & 产品周报公链建设WASM稳定币合约AMPL草稿(100%)WASM端到端应用开发流程图(50%)优化状态数据的存储(100%)添加WASM I/O接口和部分接口详细说明(80%)验证签名推公......
维基链 · 2020-09-07
416阅读 · 0赞赏 · 0问答

40 年前协议战争对区块链的启示:我们只相信粗略的共识与可运行的代码

我们熟悉阿里巴巴、腾讯、字节跳动所代表的成功的商业故事。我们知道微信、淘宝、抖音是怎样成为全民爆款的产品。这些案例离消费者触手可及,它们在各自的领域里过关斩将,最终成为了人们生活必不可少的一部分。这些......
nesta · 2020-09-07
340阅读 · 0赞赏 · 0问答

2020 ETHDenver 热门话题:社区、DAO 与 DeFi

社区、DAO、DeFi,这是作者 Lou Kerner 在本次 ETHDenver 上看到三个最为突出的热信号,社区+DAO+DeFi 将会为我们带来一个什么的未来三五年呢?似乎有很大的想象空间。维塔......
高桥优 · 2020-09-07
391阅读 · 0赞赏 · 0问答

3319.0

LK币

18

粉丝

117

笔记

感谢"区块链网"

这篇精彩的笔记,目前已经帮助

  • 0
  • 2
  • 7
  • 9
  • 2
喜欢0
链客社群 加入

微博进入

商务合作>

广告投放>

公司名称:北京链客行科技有限公司

联系方式:010-67707199

ICP备案号:京ICP备18032136号

Copyright:链客区块链技术问答社区 版权所有

感谢您的提问,问题被社区永久收入以便新人查看。一定要记得采纳最佳答案哦!加油!

感谢您的善举,每一次解答会成为新人的灯塔,回答被采纳后获得20算力和相应的LK币奖励

您将赞赏给对方2LK币的奖励哦!感谢您的赞赏!

您将赞赏给对方2LK币的奖励哦!感谢您的赞赏!