EOS主网上线了,怎么注册账号呢

        我前面的文章也提到过,EOS主网不是唯一的,EMLG, EOSGO, IMEOS, EOSForce(EOS原力)几大社区都在负责主网启动,这几个都是主网的有力竞争者。其中EMLG你可以认为是具备最大共识的社区,且EMLG已经声明它只支持EOS这一唯一主网,就是我们今天谈的这个主网,所以这个主网最接近那个真正的“主网”。好了,接下来就是实践了。

编译EOS源码

mkdir /home/eos-sources 
cd /home/eos-sources 
git clone https://github.com/EOS-Mainnet/eos.git --recursive   
cd eos 
git checkout mainnet-1.0.5 (最新的更新)
git submodule update --init --recursive  
./eosio_build.sh  

    

    编译EOS源码是为了得到cleos, keosd, nodeos三个程序。

连接主网

连接主网有两种方式:

  • 配置本地为非生产者主网节点
    参考https://github.com/CryptoLions/EOS-MainNet这个即可完成,我这里只说关键的点。
  1. 配置genesis及config文件            
mkdir /opt/EOSmainNet
cd /opt/EOSmainNet
下载EOSmainNet后, EOSmainNet就有了genesis.json文件和config.ini两个文件。
我们搭建的这个网络之所以是“主网”而不是自己的私有网就是因为这两个核心文件
  • genesis文件包含了创世块的内容
    这个创世块和所有主网的节点的创世块是一样的,所以我们在搭建主网环境
  • config.ini包含了主网服务器节点的信息(ip:port),比如
p2p-peer-address = peering1.mainnet.eosasia.one:80
p2p-peer-address = peering2.mainnet.eosasia.one:80
     我们指定了主网其他服务器节点的ip,端口,所以我们能从其他节点同步主网区块信息
   下载下来的config.ini这个配置是不能作为block producer的。其实目前主网,一般人也做不了block producer,你根本拉不到那么多选票,因此只需同步区块数据。
   唯一需要修改的是p2p-server-address这一个地方
-    p2p-server-address = !!YOUR_ENDPOINT_IP_ADDRESS!!:9876
+    p2p-server-address = 0.0.0.0:9876
   2. 运行
./start.sh --delete-all-blocks --genesis-json genesis.json
必须指定genesis-json文件,启动后就会在stderr.txt文件里看到如下log,代表启动成功了,并在同步数据

   
  • 直接连接远端nodeos节点
    远端nodes节点的信息可以一个一个测试上面的config.ini文件里的 p2p-peer-address,测试后我使用130.211.59.178这个节点即可连接到主网
$cleos -u http://130.211.59.178:8888 get account genesisblock
permissions:
     owner     1:    1 EOS1111111111111111111111111111111114T1Anm
     active     1:    1 EOS1111111111111111111111111111111114T1Anm
memory:
     quota:       unlimited  used:      2.66 Kb  

    为了方便起见,可以创建cleos.sh脚本,将本地钱包服务配置为130.211.59.178:8888, 这样命令行能更简单,且和上一方法的使用方式一模一样。

#!/bin/bash

NODEHOST="130.211.59.178"
NODEPORT="8888"

NODEOSBINDIR="/home/eos-source/build/programs"

$NODEOSBINDIR/cleos/cleos -u http://$NODEHOST:$NODEPORT "$@"

注意上面的/home/eos-source需换成你实际的源码目录

注册账号


    我们知道EOS的账号是字符组成的名字,而不是以太坊中的地址,因而这个名字就有好坏之分了,故很多朋友问我EOS账号怎么注册好尽快抢个好名字。其实,为了防止大家抢注名字,系统已经提出了bid的功能,即需要竞标注册。
    
$./cleos.sh  system bidnameinfo alibaba
bidname:                           alibaba
highest bidder:               gy2dmmzwg4ge
highest bid:                          30000
last bid time:     2018-06-10T17:12:53.500
    看到没,alibaba这个好名字已经竞标到3000了。(目前竞标的都是小于12个字符的名字)
    竞标的命令如下:
cleos system bidname [OPTIONS] bidder newname bid
    
    好了, 我们回到注册本身,注册命令如下:
$./cleos.sh system newaccount --stake-net "0.1000 EOS" --stake-cpu "0.1000 EOS" --buy-ram-kbytes 8  creator name ownerKey activeKey -p creator
 
    上面彩色字体部分都是需要按照你们自己的信息修改的,所以在执行上面命令前,需要做好以下几件事
1)creator信息获取:
    creator是一个已经存在的账号。 如果你拥有的EOS代币曾经通过第三方钱包做过映射,这样系统会自动帮你生成一个12个字符的随机账号名,然后你就可以用这个账号创建其他账号了。如果你的EOS币是在交易所的,那么遗憾的告诉你,你没有账号。 大家可以在这里根据EOS映射公钥查询账号名: 


2)name:
        就是你要创建的账号的名字,必须是12个字符,字符只能是".12345abcdefghijklmnopqrstuvwxyz"。
3)ownerKey,activeKey生成:
    ownerKey和activeKey可以设置为一样,为一个具体的公钥,公钥对应的私钥是用来管理新账号的,所以要保管好私钥。
    公私钥生成命令如下:
    
$ ./cleos.sh create key
Private key: xxxxxxxxxxxxxx7KsHLG6QJXe6ZqCzMC2
Public key: EOS8F8LdrWqfHDTscg7PvWxYTeBVYfgAkcU211pk2MEYFbmHTuBst
    
  然后,上面的命令中的ownerKey, activeKey都填上面输出的Public key值,我这里是EOS8F8LdrWqfHDTscg7PvWxYTeBVYfgAkcU211pk2MEYFbmHTuBst,
4)-p creator:
    creator权限声明,光声明这个没有用,必须要导入creator账号的私钥,具体命令如下
    
//创建钱包
$ ./cleos.sh wallet create -n exp

//导入私钥

./cleos.sh wallet import creator_privateKey -n exp
上述信息及准备工作完成后,我真正执行如下命令即可完成了账号tokenitleaks的创建。
$./cleos.sh system newaccount --stake-net "0.1000 EOS" --stake-cpu "0.1000 EOS" --buy-ram-kbytes 8   itleakstoken  tokenitleaks EOS8F8LdrWqfHDTscg7PvWxYTeBVYfgAkcU211pk2MEYFbmHTuBst EOS8F8LdrWqfHDTscg7PvWxYTeBVYfgAkcU211pk2MEYFbmHTuBst -p itleakstoken
    

/********************************
* 本文来自CSDN博主"爱踢门"
* 转载请标明出处:http://blog.csdn.net/itleaks
******************************************/

EOS技术交流群,EOS开发群,以太坊技术群:787804520


猜你喜欢

转载自blog.csdn.net/itleaks/article/details/80657128