19cao:EOS测试链加入流程(代码版本与主网同步) 2024-05-02 11:21:23 0 0 测试网络 EOS 测试链加入流程 (代码版本与主网同步) caokun_8341 · 4 分钟前 · 5 次阅读 准备:测试链目前的版本是v1.7.3 一、生成一个密钥对,私钥一定保存好,不要泄露,公钥和你的账户名称发到这个邮箱:blockchaineos@sina.com 注意账户名规则:长度必须=12位字符,只能包含(字母a-z,注意是小写,数字1-5) 1、使用cleos create key --to-console命令生成密钥对 # 示例cleos create key --to-consolePrivate key: 5JE57u3ZfkfHWG8qoysacGReGiq7EkjSMZFZJXCFvWuFwKGpmgoPublic key: EOS5f35wyekZBN1G8GRUemEhZ1uR5Xbuq5YXticPm2vWAsEKq3Jw8 cleos命令行工具和nodeos节点程序的安装参考:https://github.com/EOSIO/eos/blob/master/README.md,根据你的操作系统选择不同的方式安装。# mac-osx$ brew tap eosio/eosio$ brew install eosio# Ubuntu 18.04 Debian Package Install$ wget https://github.com/eosio/eos/releases/download/v1.7.3/eosio_1.7.3-1-ubuntu-18.04_amd64.deb$ sudo apt install ./eosio_1.7.3-1-ubuntu-18.04_amd64.deb#Ubuntu 16.04 Debian Package Install$ wget https://github.com/eosio/eos/releases/download/v1.7.3/eosio_1.7.3-1-ubuntu-16.04_amd64.deb$ sudo apt install ./eosio_1.7.3-1-ubuntu-16.04_amd64.deb 也可以通过代码编译的方式来构建出cleos,nodeos,keosd,后面有编译构建的过程说明。 2、生成密钥对还有一种方式,到这个网址生成密钥对 https://eostea.github.io/eos-generate-key/ 3、工作人员收到邮件后第一时间,创建账户,并给账户转入:100000 EOS token,注意这个EOS token是测试平台上的EOS,供测试使用,完成后会马上回复邮件,同时会空投1000个EOSDT,EOSDT是EOS主网上发行的一个合约token,其意义为eos develop and test,是为eosio合约开发者提供调试和测试服务的token,可以在BTEX去中心化交易所进行交易。麦子钱包-->应用-->交易所-->BTEX-->行情-->搜索EOSDT。 二、加入测试网的两种方式: 1、不用部署同步节点,也不用同步数据,但需要编译cleos命令客户端,直接使用:cleos -u http://114.67.77.80:8888 get info (举例) 操作自己的账户,进行创建下一级账户,转账,注册矿工,抵押,投票,撤销等操作,也可以部署和测试智能合约。可以cleos -u http://114.67.77.80:8888 system listproducers 查看矿工信息。 2、如果想自己编译代码,编译过程参考:https://blog.csdn.net/caokun_8341/article/details/80713851 注意编译的代码要是最新版本:v1.7.3 必须使用下面的genesis.json文件启动ndoes:nodeos --genesis-json 后面跟genesis.json的路径和文件名称{ "initial_timestamp": "2019-05-12T08:08:08.888", "initial_key": "EOS7LRAeWE4PM7gtNicUshruUSgVXYRnUbTpufZbdSgZ7WPRFG38B", "initial_configuration": { "max_block_net_usage": 1048576, "target_block_net_usage_pct": 1000, "max_transaction_net_usage": 524288, "base_per_transaction_net_usage": 12, "net_usage_leeway": 500, "context_free_discount_net_usage_num": 20, "context_free_discount_net_usage_den": 100, "max_block_cpu_usage": 200000, "target_block_cpu_usage_pct": 1000, "max_transaction_cpu_usage": 150000, "min_transaction_cpu_usage": 100, "max_transaction_lifetime": 3600, "deferred_trx_expiration_window": 600, "max_transaction_delay": 3888000, "max_inline_action_size": 4096, "max_inline_action_depth": 4, "max_authority_depth": 6 }} 确保 chain_id = 8b7cf52f47f92f1aa19346f3d83cc90c7980351c3905b776999918b299f0d80f 启动后可通过 cleos get info 命令查看 另外config.ini文件参考:可连接 114.67.77.80同步数据,在进行cleos 命令操作,创建账户,转账,抵押,注册矿工,投票,撤销等等。 如果想做出块节点,可以修改config.ini文件中的密钥对,改成你的producer 账户,如果只做同步节点,可以直接使用这个config.ini文件或密钥那一块删掉也可以。 # eos node configenable-stale-production = truehttp-server-address = 0.0.0.0:8888p2p-listen-endpoint = 0.0.0.0:9876p2p-server-address = localhost:9876allowed-connection = anyhttp-validate-host = 1# mongodb-uri = mongodb://127.0.0.1:27017/EOSmax-transaction-time = 1000p2p-peer-address = 47.96.104.93:9876#producers and keys#plugins plugin = eosio::producer_pluginplugin = eosio::chain_api_pluginplugin = eosio::history_api_pluginplugin = eosio::http_pluginplugin = eosio::net_pluginplugin = eosio::net_api_plugin# plugin = eosio::mongo_db_plugin 三、常用操作说明 以下的操作示例如果远程执行:在cleos 后加上 -u http://114.67.77.80:8888 即可 1、创建钱包 创建默认钱包:filename = default.wallet cleos wallet create 创建名称为xxxx的钱包cleos wallet create -n xxxx --to-console 2、解锁钱包cleos wallet unlockcleos wallet unlock -n xxxx --passward waletpin_text 3、创建账户 使用 kevinkuntest账户创建kevinkuntes1账户,前提,kevinkuntest私钥导入钱包,有足够的EOScleos system newaccount --transfer --stake-net "100.0000 EOS" --stake-cpu "100.0000 EOS" --buy-ram "100.0000 EOS" kevinkuntest kevinkuntes1 EOS797NSewgrqDfxDKuh3aYa3G3p5BTeN2T5FdveTNMuj7bpsBVGN 4、导入秘钥对到钱包cleos wallet import xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx(privatekey-text)cleos wallet import -n mywalletname --private-key xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx(privatekey-text) 5、转账EOS tokencleos transfer kevinkuntest kevinkuntes1 "100.0000 EOS" 6、账户查询cleos get account kevinkuntestcleos get account kevinkuntes1 7、查询账户余额cleos get currency balance eosio.token kevinkuntestcleos get currency balance eosio.token kevinkuntes1 8、创建自己的token : 需要eosio合约账户的私钥或授权cleos push action eosio.token create '["kevinkuntest", "1000000000.0000 KUN"]' -p eosio.token 9、发行代币:cleos push action eosio.token issue '["kevinkuntest", "1000000000.0000 KUN", "memo"]' -p kevinkuntest 10、查询所有代币的余额:cleos get currency balance eosio.token kevinkuntest 11、为创建一个权限transferpowercleos set account permission kevinkuntest transferpower '{"threshold": 1, "keys":[{"key":"EOS5wquAffiaMMQsXyibBGXpB7WWhZYFtwmSUGZcfkFE49pjsB28C","weight":1}],"accounts":[],"waits":[]}' active 12、将权限transferpower 和 转账动作transfer绑定cleos set action permission kevinkuntest eosio.token transfer transferpower 13、可以使用transferpower权限转账cleos push action eosio.token transfer '["kevinkuntest","kevinkuntes1","100.0000 KUN","transfer"]' -p kevinkuntest@transferpower 14、注册成为矿工cleos system regproducer p1.cao EOS8jBSXoX4B4eEkdTE2R1srnAxXWsVp3Qr4ADHXwhZP8hJcg4HeT 15、查看所有producers列表cleos system listproducers 16、抵押tokencleos system delegatebw kevinkuntest kevinkuntest '10000 EOS' '10000 EOS' 17、投票cleos system voteproducer prods kevinkuntest cao 18、取消矿工注册cleos system unregprod p1.cao -p p1.cao 19、查看抵押cleos system listbw kevinkuntest 19、解除抵押cleos system undelegatebw kevinkuntest kevinkuntest "10000 EOS" "10000 EOS" -p kevinkuntest 20、买内存 (100EOS)cleos system buyram caokunkevin1 caokunkevin1 "100.0000 EOS" -p caokunkevin1 21、卖内存(1M)cleos system sellram caokunkevin1 1048576 22、矿工索取奖励cleos system claimrewards bp.a 四、经过实验得到的一些结论: 1、如果矿工注销以后,以前出块的奖励将会索取(claimrewards) 失败。 2、如果矿工的身份还在,没有注销,即使当前不在出块了,索取奖励(claimrewards)还是可以成功的。 3、买内存以EOS计,卖内存以字节计,1024*1024 = 1M内存 4、抵押cpu 和 net资源有两种方式,一种是自己给自己(同一账户)抵押,记在staked下,一种是别的账户给本账户抵押,记在delegated下。 一种是在创建账户的时候抵押,一种是使用delegatebw 抵押。 操作过程中遇到问题,可进群咨询,交流学习,一同解决。 收藏(0)