EOS 시작 설명서 - PART2 Primary Network 접속

본고는 주로 현지의 eos 프로그램이 메인 네트워크를 어떻게 연결하는지 소개했다.
1. 우리는 EOS 메인 네트워크에 있습니까?
명령줄에 다음을 입력합니다.
cleos get info

다음과 같은 인터페이스가 표시됩니다.
안에 chain_id 필드가 있는데 그 필드의 값은cf057...c4f이다. 이것은 그 필드가 있는 네트워크 표지부이다. 메인 네트워크chain_id의 값은: aca376f206b8fc25a6ed44dbdc66547c36c6c33e3a119ffbeaef943642f0e906이다. 분명히 우리는 메인 네트워크에 있지 않기 때문에 우리의 자세가 옳지 않다. 도대체 문제가 어디에 있는가?
2. 메인 네트워크 연결 - genesis-json 지정
이어서 위의 질문에 답은 우리가 운행nodeos할 때 지정genesis-json을 해야 한다는 것입니다genesis.json:
{
  "initial_timestamp": "2018-06-08T08:08:08.888",
  "initial_key": "EOS7EarnUhcyYqmdnPon8rm7mBCTnBoot6o7fE2WzjvEX2TdggbL3",
  "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
  }
}

홈 디렉터리에 genesis.json 파일을 새로 만들고 위의 내용을 복사해서 붙여넣으면 됩니다.
3. 메인 네트워크 연결 - 플러그인 목록 추가
그러나 이 작업은 끝나지 않았습니다. 런타임 플러그인을 지정해야 합니다. ~/Library/Application\ Support/eosio/nodeos/config/config.ini에 플러그인 목록을 추가하려면:
plugin = eosio::chain_plugin
plugin = eosio::chain_api_plugin
plugin = eosio::net_plugin
plugin = eosio::net_api_plugin
plugin = eosio::history_plugin
plugin = eosio::history_api_plugin
plugin = eosio::http_plugin
plugin = eosio::http_client_plugin
plugin = eosio::wallet_api_plugin

이후에 우리는 다시 운행nodeos --genesis-json ~/genesis.json했다. 이때 우리는 또 하나의 오류를 만났다.
해결 방법은 단순하고 난폭하며 원래의 데이터를 직접 삭제한다.
rm -rf  ~/Library/Application\ Support/eosio/nodeos/data

또는 nodeos를 시작할 때 --delete-all-blocks 파라미터를 추가하면 됩니다.
nodeos --genesis-json ~/genesis.json --delete-all-blocks

4. 메인 네트워크 연결 - 피드 노드 추가
이때 우리는 아무런 문제가 없는 것 같았다. cleos get info 이후에 나온 것도 메인 아이디였고 모든 것이 세월이 고요해 보였다.
그런데 잠깐만, 왜 내 컴퓨터에 블록이 하나밖에 없는데 실행cleos get block 2이 틀릴 거야. 약속한 메인넷이 설마 단기판이야?
노드가 데이터를 동기화하려면 어느 노드에서 데이터를 동기화하는지 알아야 한다.일반적으로 EOS 작성자 및 운영자가 선언된 시드 노드를 표시하여 해결합니다.마찬가지로 이전 config.ini 파일에서 피드 노드 정보를 계속 추가합니다.
p2p-peer-address = p2p.prod.eosgravity.com:80
p2p-peer-address = eu-west-nl.eosamsterdam.net:9876
p2p-peer-address = p2p.mainnet.eosgermany.online:9876
p2p-peer-address = 54.38.250.15:19878
p2p-peer-address = p2p.genereos.io:9876
p2p-peer-address = mainnet.eospay.host:19876
p2p-peer-address = 130.211.59.178:9876
p2p-peer-address = 54.153.59.31:9999
p2p-peer-address = 94.130.250.22:9806  
p2p-peer-address = peer.main.alohaeos.com:9876
p2p-peer-address = peer.eosn.io:9876
p2p-peer-address = prod.mainnet.eos.cybex.io:9888
p2p-peer-address = p2p-1.eosnetwork.io:9876
p2p-peer-address = p.jeda.one:3322
p2p-peer-address = eosbattles.com:9877
p2p-peer-address = 34.226.76.22:9876
p2p-peer-address = mainnet.eosoasis.io:9876
p2p-peer-address = node.eosflare.io:1883
p2p-peer-address = p2p.eosio.cr:1976
p2p-peer-address = p2p.eosio.cr:5418
p2p-peer-address = eno.eosvan.io:19866

그 다음에 nodeos(이번에는 뒤에 있는 파라미터를 추가하지 마세요)를 실행하면 인근 노드의 동기화 정보를 찾기 시작합니다.
다시 실행cleos get info하면 다음과 같은 인터페이스가 나타납니다.chain_id 메인 네트워크 ID가 맞습니다. 실행cleos get block n(n은 블록번호)도 틀리지 않았습니다. 동기화에 성공했습니다!
이로써 우리는 마침내 메인 네트워크 대부대와 합류했다!
총결산
이 편을 우리는 배웠다.
  • EOS 홈 네트워크에 연결하는 방법
  • genesis-json을 지정하여 chain 수정id
  • 수정 config.ini 파일
  • plugin 관련 문 추가
  • p2p-peer-address 목록 추가
  • 시작 시 기존 블록체인 데이터 정보 삭제--delete-all-blocks

  • 끝말
    이 장에서 우리는 자신이 메인 네트워크에 있는지 없는지를 판단하고 EOS 메인 네트워크에 연결하는 방법을 배웠다.다음 장은 cleos, 계좌의 개념, 그리고 지갑을 조작하는 데 실질적인 일을 하자.

    좋은 웹페이지 즐겨찾기