搭建EOS未完

純淨機器上部署 EOS 測試網

演示的系統爲 Ubuntu 18.04 LTS,內存8g以上,硬盤300g+node

clone EOS代碼

們以EOS-Mainnet倉庫部署,(EOS-Mainnet是部署在目前EOS主網的版本,等於再次在EOSIO倉庫測試過的版本,更穩定。)ios

開始clone 代碼git

//若是沒有安裝git,先安裝
$sudo apt install git
$git clone https://github.com/EOS-Mainnet/eos.git

切換到最新分支(當前的EOS最新版本爲 v1.4.3)github

更新子模塊代碼shell

git submodule update --init --recursive

編譯代碼

./eosio_build.sh -s EOS

 安裝程序

sudo ./eosio_install.sh

建立配置文件夾

sudo mkdir /data
sudo chmod 777 /data
cd /data

建立缺省錢包json

cleos wallet create --to-console

輸出密碼如:PW5Kequvj31v37mAeBEPtx2mNcs5SHCjoZXf4sWw67GvxuNPZwfEfapi

這裏會產生一個密碼,能夠把密碼保存下來ide

echo PW5Kequvj31v37mAeBEPtx2mNcs5SHCjoZXf4sWw67GvxuNPZwfEf > pwd.txt

生成genesis.json文件測試

mkdir config
mkdir data
cd config
nodeos --extract-genesis-json genesis.json

新建一個config.ini文件, 並添加以下內容fetch

http-server-address = 0.0.0.0:8000
p2p-listen-endpoint = 0.0.0.0:8001
agent-name = "EOS AI"
producer-name = eosio
signature-provider = EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV=KEY:5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3
#創世節點才須要,其餘bp不須要開啓
enable-stale-production = true



#如下爲通用設置
max-transaction-time=1000
wasm-runtime = wabt
pause-on-startup = false
abi-serializer-max-time-ms = 3000
chain-state-db-size-mb = 65535
reversible-blocks-db-size-mb = 2048
contracts-console = false
p2p-max-nodes-per-host = 1
allowed-connection = any
max-clients = 100
network-version-match = 1
sync-fetch-span = 500

#filter-on = *
connection-cleanup-period = 30
max-implicit-request = 1500
http-validate-host = false
access-control-allow-origin = *
access-control-allow-headers = *
access-control-allow-credentials = false
verbose-http-errors = true

#添加插件
plugin = eosio::chain_api_plugin
plugin = eosio::history_plugin
plugin = eosio::history_api_plugin
plugin = eosio::producer_plugin

首次啓動節點

cd /data
nodeos --genesis-json ./config/genesis.json --max-irreversible-block-age 108000000 --data-dir ./data --config-dir ./config --delete-all-blocks

激活eosio帳號

cleos wallet import --private-key 5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3

特別注意,本文中的其它密碼,KEY都是自定義的, 這裏這個KEY必須是這個串,不得變動。

建立基礎合約

cd {EOS源碼路徑}/build/contracts  
cleos -u http://127.0.0.1:8000 set contract eosio eosio.bios/ -p eosio

建立系統基礎帳號

cleos wallet import --private-key 5JBCqbY4EuwtVxCz4qBMXTGiT1hRr1bEjbZPKM16Q7fgcb8ikEP

cleos -u http://127.0.0.1:8000  create account eosio  eosio.sudo    EOS8V8fLfYQhjdMLkFzz12YdK3UBCAw8mT7imCiJGfgxTdNs9H831 EOS8V8fLfYQhjdMLkFzz12YdK3UBCAw8mT7imCiJGfgxTdNs9H831
cleos -u http://127.0.0.1:8000  create account eosio  eosio.vpay    EOS8V8fLfYQhjdMLkFzz12YdK3UBCAw8mT7imCiJGfgxTdNs9H831 EOS8V8fLfYQhjdMLkFzz12YdK3UBCAw8mT7imCiJGfgxTdNs9H831
cleos -u http://127.0.0.1:8000  create account eosio  eosio.token    EOS8V8fLfYQhjdMLkFzz12YdK3UBCAw8mT7imCiJGfgxTdNs9H831 EOS8V8fLfYQhjdMLkFzz12YdK3UBCAw8mT7imCiJGfgxTdNs9H831
cleos -u http://127.0.0.1:8000  create account eosio  eosio.bpay    EOS8V8fLfYQhjdMLkFzz12YdK3UBCAw8mT7imCiJGfgxTdNs9H831 EOS8V8fLfYQhjdMLkFzz12YdK3UBCAw8mT7imCiJGfgxTdNs9H831
cleos -u http://127.0.0.1:8000  create account eosio  eosio.msig    EOS8V8fLfYQhjdMLkFzz12YdK3UBCAw8mT7imCiJGfgxTdNs9H831 EOS8V8fLfYQhjdMLkFzz12YdK3UBCAw8mT7imCiJGfgxTdNs9H831
cleos -u http://127.0.0.1:8000  create account eosio  eosio.names   EOS8V8fLfYQhjdMLkFzz12YdK3UBCAw8mT7imCiJGfgxTdNs9H831 EOS8V8fLfYQhjdMLkFzz12YdK3UBCAw8mT7imCiJGfgxTdNs9H831
cleos -u http://127.0.0.1:8000  create account eosio  eosio.ram     EOS8V8fLfYQhjdMLkFzz12YdK3UBCAw8mT7imCiJGfgxTdNs9H831 EOS8V8fLfYQhjdMLkFzz12YdK3UBCAw8mT7imCiJGfgxTdNs9H831
cleos -u http://127.0.0.1:8000  create account eosio  eosio.ramfee  EOS8V8fLfYQhjdMLkFzz12YdK3UBCAw8mT7imCiJGfgxTdNs9H831 EOS8V8fLfYQhjdMLkFzz12YdK3UBCAw8mT7imCiJGfgxTdNs9H831
cleos -u http://127.0.0.1:8000  create account eosio  eosio.saving  EOS8V8fLfYQhjdMLkFzz12YdK3UBCAw8mT7imCiJGfgxTdNs9H831 EOS8V8fLfYQhjdMLkFzz12YdK3UBCAw8mT7imCiJGfgxTdNs9H831
cleos -u http://127.0.0.1:8000  create account eosio  eosio.stake   EOS8V8fLfYQhjdMLkFzz12YdK3UBCAw8mT7imCiJGfgxTdNs9H831 EOS8V8fLfYQhjdMLkFzz12YdK3UBCAw8mT7imCiJGfgxTdNs9H831

建立系統基礎合約

cleos -u http://127.0.0.1:8000 set contract eosio.token eosio.token
cleos -u http://127.0.0.1:8000 push action eosio.token create '["eosio","10000000000.0000 EOS",0,0,0]' -p eosio.token
cleos -u http://127.0.0.1:8000 push action eosio.token issue '["eosio","1000000000.0000 EOS","issue"]' -p eosio
cleos -u http://127.0.0.1:8000 get currency balance eosio.token eosio
cleos -u http://127.0.0.1:8000 set contract eosio eosio.msig -p eosio
cleos -u http://127.0.0.1:8000 set contract eosio eosio.system -p eosio

其中最後一句, 能夠多執行幾遍,確保輸出相似以下內容,表示合約已經確認,否則後面調用合約建立帳號可能會報錯。

Reading WASM from eosio.system/eosio.system.wasm...
Skipping set code because the new code is the same as the existing code
Skipping set abi because the new abi is the same as the existing abi
no transaction is sent

cleos -u http://127.0.0.1:8000 set contract eosio eosio.sudo -p eosio

建立其它帳號

cleos -u http://127.0.0.1:8000 system newaccount eosio eosio.bp1 EOS8V8fLfYQhjdMLkFzz12YdK3UBCAw8mT7imCiJGfgxTdNs9H831 EOS8V8fLfYQhjdMLkFzz12YdK3UBCAw8mT7imCiJGfgxTdNs9H831   --stake-net "20000 EOS" --stake-cpu "20000 EOS" --buy-ram "20000 EOS"
cleos -u http://127.0.0.1:8000 system newaccount eosio eosio.bp2 EOS8V8fLfYQhjdMLkFzz12YdK3UBCAw8mT7imCiJGfgxTdNs9H831 EOS8V8fLfYQhjdMLkFzz12YdK3UBCAw8mT7imCiJGfgxTdNs9H831    --stake-net "20000 EOS" --stake-cpu "20000 EOS" --buy-ram "20000 EOS"
cleos -u http://127.0.0.1:8000 system newaccount eosio eosio.bp3 EOS8V8fLfYQhjdMLkFzz12YdK3UBCAw8mT7imCiJGfgxTdNs9H831 EOS8V8fLfYQhjdMLkFzz12YdK3UBCAw8mT7imCiJGfgxTdNs9H831  --stake-net "20000 EOS" --stake-cpu "20000 EOS" --buy-ram "20000 EOS"

cleos -u http://127.0.0.1:8000 get account eosio.bp1
cleos -u http://127.0.0.1:8000 get account eosio.bp2
cleos -u http://127.0.0.1:8000 get account eosio.bp3
相關文章
相關標籤/搜索