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

 5.mac环境安装报错
  参考知乎文章
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

你的专属EOS账户名

EOSIO Dawn4.1版本发布后,对eos的账户名进行了新的更新与说明

1.为了避免账户名抢注,在eos最新版本发布之前,强制规定了账户名为长度12个字符,且不包含”.”符号。

2.Dan正在通过GitHub (#3189)提出有关名称分配方案,并在征求社区反馈意见。

如上图,大致的意思:

1. 只允许账号com 注册xyz.com。一个账号可以创建子账号,类似于域名可以创建二级域名。

2. 每天最多销售一个高级名称,价高者得。也就是说对于一些顶级的账户名将采用拍卖的形式竞拍,每天竞拍一个,套路不是一般的深啊。

推荐一个网站  https://eosauthority.com/ ,可以查到你的eth地址是否已映射,并显示当前地址的eos数量,以及上线后的账户名。

网站首页就是上图显示的样子,人机身份验证需要翻墙,否则会Check错误。

输入eth地址,并完成人机身份验证

首先你会看到你的eth地址下eos的代币数量,其次会看到你EOS映射对应的public key,之后那一串通过一定算法,随机生成的12个字符长度,就是你的账户名了。等主网上线,更新后,账户名是可以更改的。

如果你的EOS在交易所,交易所会帮你完成映射,但是如果你的EOS还在你的钱包里,那就要抓紧时间映射了,否则等EOS主网上线后,ETH上的EOS代币将作废,最近很多人问我,映射是否需要EOS,其实映射只是ETH地址与EOS 密钥的关系,并不需要你的地址里有EOS代币,只需要少量的ETH做执行映射合约的矿工费就够了,像imToken一定需要你的钱包中有EOS才能映射,这之前也误导了我一段时间。

我用的是麦子钱包做的映射(麦子钱包下载地址https://www.medishares.org/wallet/cn),一键映射,非常方便,钱包里有少量的eth做矿工费就能映射,最近以太比较拥堵,映射大约需要0.002左右的eth,并且在映射完后还能直接看到你所映射的EOS public key。

最后

就在前天,EOSIO Dawn4.2版本也发布了,大致的更新内容可以看https://github.com/EOSIO/eos/releases

距离6.2号 EOS主网上线也就一星期不到的时间了,让人期待!

参考链接

https://mp.weixin.qq.com/s/ynpTJplZYALBFw_NCRSxVQ

https://hk.saowen.com/a/834b23d73234d08e5654bd82ebec1ef25960bbd4220341044617f0a9f43f84f1

EOS Hackathon 将于6月9日在香港开幕

全球首届EOS黑马上线啦,性感荷官..咳咳..隔壁的香港将在6月9日至10日举行。

EOS全球黑客马拉松将会分别在香港(6月9日至10日)、伦敦(8月4日至5日)、悉尼(9月22日至23日)及一个神秘地点(11月10日至11日)举办,最后将于12月8日宣布Grand Finale的信息,本次黑马是区块链领域的首次活动,目标是凝聚分布全球的零散社区,说白了,就是找大伙聊聊天,吹吹牛交流技术啥的。

本次大赛将以一下4个方面对现场的作品评分,最低分数为0分,最高分为20分,最终评分为评委给出的平均分数:

使用区块链技术(5分)

首要要确定的是,项目是否真的适合使用区块链技术解决,真的需要代币和分布式的账本来解决问题,你说你啥玩意都往区块链上搬,就过分了啊。

创造力(5分)

当然,一个富有创造力的项目也是很重要的,一个独一无二的项目将会打开一条新的方向,大家都玩臭的东西就算了吧- –

影响(5分)

有创造力是好事,但是只有创造力是不够的,这个项目能产生的价值更重要!别搞一堆花里胡哨的,大家也就看个热闹就尴尬了╮(╯_╰)╭

可扩展性(5分)

最后就是这个应用的潜力了,一个可以持续扩展的应用将会持续的改变着我们的生活,一定要能屈能伸嘛。

 

我们再来看看参赛规则:

1、每队最多5人参加

2、想赢?别把以前的代码翻出来,在这从零开始!

3、你写的代码全部归你!

4、想作弊?嘿嘿,随时可能就抽查你!

 

最后就来看看丰盛的奖品了,如果获得了前三名,奖励大大的。

首先是前三名的团队,每位队员都可以获得2000美元的奖金,用来参加之后的Grand Finale的吃喝拉撒费。另外,包含吃喝拉撒,第一名有10万美元,第二名2万5美元,第三名1万美元的奖励,还有三份3000美元的现金奖送给最优秀的获奖者。

 

好啦,心动不如行动,赶快过来瞧一瞧看一看吧:

https://eoshackathon.io/

EOS 投票机制新动向

20186月,EOS代币持有者将能够为他们最喜欢的 Block Producers 投票。在EOS区块链论坛和聊天中被问到的一个反复出现的问题是“我如何使用我的代币进行投票?

Block.one(开发EOS.IO软件的公司)已经表示,他们只会开放一个EOS.IO 1.0版本的命令行工具,在该版本中用户已经可以进行投票。这就需要用户到GitHub代码库中抓取一段出来,到自己的本地电脑上运行。一些社区成员已经自己创建了用户友好界面,用户可以通过该界面进行投票。

代理投票

除了自己投票外,还有一种投票的方式,称之为代理人投票。其大概意思就是将您手中的投票权交给代理人,让代理人替您完成投票。这种方式对于那些无法对所有节点进行尽调,但又想行使投票权来促进 EOS 生态更好建设的用户来说,无非是一种很好的选择。

写着这篇文章的时候,已经有107个超级节点候选人被EOS Go列出,以便社区可以找到更多关于超级节点候选人的信息。这将有助于确保我们了解清楚EOS上的投票,促进EOS网络的健壮和安全。

锁定期

当一个用户投票的时候,他们需要先把EOS tokens抵押成选票。抵押后,EOS Token 将会被锁定,不能进行转账。用户取消EOS抵押后,需要等待 72 小时的解锁时间。

投票权重衰减机制

可别以为投一次就完事了哦~ Block.one 希望用户经常更新他们的投票,而不是设置完就万事大吉不管事儿了。因此,他们引入了一个时长为一年的投票权重衰减机制。衰减机制会从投票开始的一周后启动。如果用户在一周后不重新投票,则他之前的投票就会衰减,一年后衰减至50%。如果重新投票,则恢复至初始权重。

下图是 Thomas Cox 推出的,有关 EOS 流动以及 EOS 如何运用于不同资源的流程图:

本文参考自EOS Canada

原文地址:

https://www.eoscanada.com/en/how-do-i-use-my-eos-tokens-to-vote-for-a-block-producer

原文作者:Josh Kauffman

EOS正式上线时间轴以及步骤

目前大多数人其实并不知道EOS到底什么时候会正式上线,以及如何上线。

5月12日,BM按时发布了Dawn 4.0,根据文中的信息,以及EOSGo社区关于启动主链步骤的文章,本文整理了一下大致的时间节点,帮助大家更好的理解EOS主网启动的全过程。

6月1日,完成以太坊上EOS代币映射快照,如果不清楚或者想确保映射万无一失,可以看看:一图看懂什么是EOS映射

6月2日,由社区组织,从超级节点候选者中选出22个,其中1个负责启动BIOS(创始块),其它21个作为ABP(指定区块链生产者)。

6月第1周(具体时间还没定),发布 EOSIO 1.0,这个版本具备了任何人或者组织运行EOS区块链所需要的所有功能和模块。

6月第1周(预计),1个负责启动BIOS(创始块),21个ABP(指定区块链生产者)启动EOS区块链。

6月第1周(预计),所有EBP(候选超级节点)加入网络,进行10轮的选举,产生 21 个主节点和 49 个备选节点。

6月第1周(预计),投票确定宪法、然后验证整个系统正确性。验证无误后,EOS才可以开始转账,节点开始获得收益。

EOS开始转账后意味着,EOSIO 1.0主网正式运行。当EOS社区对某个主链达成共识后,交易所开始对接。BlockONE团队还会继续提供技术支持,新版本开发,以及问题修复。

注:EOS官方、以及EOS社区还未发布具体的上线时间点,本文的时间轴是根据目前所能搜集到的公开信息进行预计,实际时间点请关注blockone官方的消息。

参考链接:
https://medium.com/eosio/eosio-dawn-4-0-release-b25661a49ac2
https://forums.eosgo.io/discussion/876/%E5%90%AF%E5%8A%A8eos%E4%B8%BB%E9%93%BE-%E8%BF%98%E5%B7%AE%E4%BB%80%E4%B9%88

2018/6/3 更新IMEOS发布的社区启动计划

EOS中账户、钱包和密钥的关系

EOS对于账户的设计与ETH有很大的不同,引入了Account账户, Wallet钱包, 钱包密码, Key公私钥, Permission权限等众多概念,刚入门的时候感觉一头雾水。本文希望通过对这些概念的梳理,帮助读者能够很容易的上手EOS智能合约的开发。

eosacct

如图所示,右边是EOS Wallet钱包,里面只存放私钥,而且钱包有一个密码,需要输入密码才能解锁钱包,读取私钥。
左边是EOS Account账户,可以把它看成是一个保险箱,里面有EOS Token以及智能合约,而需要转移里面的EOS Token(或者执行智能合约),你需要钱包中对应的私钥来解锁这个保险箱。

EOS Dawn 3.0测试版本中创建一个账户的命令是:
cleos create account {创建者账户名} {新的账户名} 公钥1 公钥2

其中{创建者账户名}是为这个创建动作支付EOS的账户,公钥1和公钥2分别是两个不同权限的密钥对的公钥。

eosacct2

所以把权限系统加上,图就变成上面这个样子,一个保险柜有两个开关,不过打开后可以进行操作的权限是不同的。2个私钥可以存在一个钱包里,也可以如上图所示存在不同的钱包里(由不同的人控制)。

owner权限是账户的最高权限,可以修改其它权限。
active权限默认可以进行转账等操作,但不能修改权限。

每个保险箱有一个名字,就是EOS账户名。
转账和智能合约等操作的执行都是在Account这个保险箱进行,所以账户名在EOS世界其实是以太坊的地址。
与以太坊不同,EOS的账户名不再是一串很长很长的地址,而是一个你可以自定义的英文字母+数字(12345)+符号(.),最长12位,最短1位,全局唯一,先到先得,注册费用还没公布,但据最新的消息,长度不同注册需要的EOS也不一样。

昨天MediShares团队开发的“麦子钱包”上线了【EOS账户名一键抢注工具】,可以装一下玩玩 http://medishares.org/wallet/cn/

EOS主网上线的瞬间,账户名抢夺战应该会很有意思吧。