Centos7 구축 Geth 노드

7521 단어 블록체인

기사 목록

  • 환경 준비
  • 서버
  • Go Ethereum 다운로드 설치
  • 시간 동기화 (시간 오류로 인해 노드를 동기화할 수 없음)
  • 동기화 네트워크 시간
  • 정시 동기화 네트워크 시간
  • Geth 구성
  • 구성 시작
  • 옵션 설명
  • 매개 변수 참조
  • 기본 지령
  • 콘솔에 로그인합니다
  • 계정을 만듭니다
  • 계좌 잔액을 확인하세요
  • 기타 지령
  • 로그 보기
  • 동기화 로그 보기
  • 동시 종료
  • 첨부

  • 환경 준비


    서버


    일반 요구 사항: 4코어 - 8G-500G
    [root@localhost opt]# cat /etc/redhat-release
    CentOS Linux release 7.5.1804 (Core)
    

    Go Ethereum 다운로드 설치


    다운로드 주소:https://geth.ethereum.org/downloads/
    다운로드할 클라이언트 선택: geth-linux-amd64-1.8.27-4bcc0a37.tar.gz
    # 
    [root@localhost opt]# ll | grep geth-linux-amd64-1.8.27-4bcc0a37.tar.gz
    -rw-r--r--. 1 root root 14594041 Apr 17 21:18 geth-linux-amd64-1.8.27-4bcc0a37.tar.gz
    
    #  
    [root@localhost opt]# tar zxvf geth-linux-amd64-1.8.27-4bcc0a37.tar.gz
    [root@localhost opt]# cd geth-linux-amd64-1.8.27-4bcc0a37
    [root@localhost opt]# cp geth /usr/bin/geth
    

    시간 동기화 (시간 오류로 인해 노드를 동기화할 수 없음)


    네트워크 시간 동기화

    [root@localhost opt]# ntpdate cn.pool.ntp.org
    16 Jul 09:59:56 ntpdate[28004]: step time server 119.28.183.184 offset 0.975532 sec
    

    시간 동기화 네트워크 시간

    [root@localhost opt]# echo '0 0 * * * root ntpdate cn.pool.ntp.org prefer' >> /etc/crontab
    [root@localhost opt]# service crond restart
    Redirecting to /bin/systemctl restart crond.service
    

    Geth 구성


    시작 구성

    #  
    [root@localhost opt]# mkdir ethdir
    
    #  
    [root@localhost opt]# geth --syncmode 'fast' --rpc --rpcaddr '0.0.0.0' --rpcport 8545 --datadir /opt/ethdir/data --port '30303' --rpcapi 'db,eth,net,web3,personal' --rpccorsdomain '*' --networkid 4 --cache 1024 dumpconfig > /opt/ethdir/config.toml
    
    #  geth 
    [root@localhost opt]# nohup geth --config /opt/ethdir/config.toml >> /opt/ethdir/geth.log  2>&1  &
    

    옵션 설명


    옵션
    사용 값
    설명
    –syncmode
    “fast”
    Blockchain sync mode("fast", "full", or "light"), 동기화 모드, 일반적으로fast를 사용하면 된다
    –rpc
    Enable the HTTP-RPC server
    –rpcaddr
    ‘0.0.0.0’
    HTTP-RPC server listening interface (default: “localhost”)
    –rpcport
    8545
    HTTP-RPC server listening port (default: 8545)
    –datadir
    /opt/ethdir/data
    Data directory for the databases and keystore
    –port
    ‘30303’
    Network listening port (default: 30303)
    –rpcapi
    ‘db,eth,net,web3,personal’
    API’s offered over the HTTP-RPC interface
    –rpccorsdomain
    ‘*’
    Comma separated list of domains from which to accept cross origin requests (browser enforced)
    –networkid

    Network identifier(integer, 1=Frontier(메인넷), 2=Morden(disused), 3=Ropsten, 4=Rinkeby)(default: 1)
    –cache
    1024
    Megabytes of memory allocated to internal caching (default: 1024)

    매개변수 참조


    https://www.cnblogs.com/tinyxiong/p/7918706.html https://geth.ethereum.org/interface/Command-Line-Options

    기본 명령


    콘솔 로그인

    [root@localhost rinkeby]# geth attach geth.ipc
    Welcome to the Geth JavaScript console!
     
    instance: Geth/v1.8.27-stable-4bcc0a37/linux-amd64/go1.11.9
    coinbase: 0x08d589b4d5921b128cda9aad4ce82570186b5491
    at block: 4741795 (Tue, 16 Jul 2019 13:59:26 CST)
     datadir: /root/.ethereum/rinkeby
     modules: admin:1.0 clique:1.0 debug:1.0 eth:1.0 miner:1.0 net:1.0 personal:1.0 rpc:1.0 txpool:1.0 web3:1.0
     
    >
    

    계정 만들기

    > personal.newAccount('password')
    "0xf15f87cf98c847af5b1de0bb106854b6e40f6276"
    >
    

    계좌 잔액 보기

    > eth.getBalance('0xf15f87cf98c847af5b1de0bb106854b6e40f6276')
    0
    >
    

    기타 명령


    참조:https://geth.ethereum.org/interface/Management-APIs

    로그 보기


    동기화 로그 보기

    [root@localhost opt]# more geth.log
    INFO [07-03|21:17:49.633] Maximum peer count                       ETH=25 LES=0 total=25
    INFO [07-03|21:17:50.170] Starting peer-to-peer node               instance=Geth/v1.8.27-stable-4bcc0a3
    7/linux-amd64/go1.11.9
    INFO [07-03|21:17:50.170] Allocated cache and file handles         database=/root/.ethereum/rinkeby/get
    h/chaindata cache=512 handles=32768
    INFO [07-03|21:17:56.473] Initialised chain configuration          config="{ChainID: 4 Homestead: 1 DAO
    :  DAOSupport: true EIP150: 2 EIP155: 3 EIP158: 3 Byzantium: 1035301 Constantinople: 3660663  Cons
    tantinopleFix: 4321234 Engine: clique}"
    INFO [07-03|21:17:56.474] Initialising Ethereum protocol           versions="[63 62]" network=4
    INFO [07-03|21:17:56.529] Loaded most recent local header          number=4668667 hash=d18fbe…ab7758 td
    =8547789 age=1m2s
    INFO [07-03|21:17:56.529] Loaded most recent local full block      number=4668667 hash=d18fbe…ab7758 td
    =8547789 age=1m2s
    INFO [07-03|21:17:56.529] Loaded most recent local fast block      number=4668667 hash=d18fbe…ab7758 td
    =8547789 age=1m2s
    INFO [07-03|21:17:56.529] Loaded local transaction journal         transactions=0 dropped=0
    INFO [07-03|21:17:56.530] Regenerated local transaction journal    transactions=0 accounts=0
    WARN [07-03|21:17:56.530] Blockchain not empty, fast sync disabled 
    INFO [07-03|21:17:57.490] New local node record                    seq=74 id=35056e59ec20edb9 ip=127.0.
    0.1 udp=30303 tcp=30303
    INFO [07-03|21:17:57.491] Started P2P networking                   self=enode://d0e043a85000657cd8febdc
    97678b946d5e20bd24bc0e7234962a17390a6abe2dd33eea67ff3df24634bef96807466c138256e7d65190ad9f360b7834f5163
    [email protected]:30303
    INFO [07-03|21:17:57.494] IPC endpoint opened                      url=/root/.ethereum/rinkeby/geth.ipc
    INFO [07-03|21:17:57.495] HTTP endpoint opened                     url=http://0.0.0.0:8545             
     cors=* vhosts=*
    INFO [07-03|21:18:01.493] New local node record                    seq=75 id=35056e59ec20edb9 ip= 
        udp=30303 tcp=30303
    INFO [07-03|21:21:57.492] Block synchronisation started 
    WARN [07-03|21:22:04.382] Synchronisation failed, dropping peer    peer=d803dcc3febec864 err="no peers 
    available or all tried for download"
    INFO [07-03|21:27:47.508] Imported new chain segment               blocks=2 txs=17 mgas=2.315 elapsed=5
    41.329ms mgasps=4.276 number=4668669 hash=17d9b1…1baa1c age=10m23s cache=229.03kB
    INFO [07-03|21:27:49.054] Imported new chain segment               blocks=9 txs=184 mgas=21.486 elapsed
    =1.544s    mgasps=13.910 number=4668678 hash=c9d65b…f0e2d2 age=8m10s  cache=1.55mB
    INFO [07-03|21:27:59.959] Imported new chain segment               blocks=28 txs=496 mgas=52.850 elapse
    d=10.901s   mgasps=4.848  number=4668706 hash=677f7f…86d5aa age=1m20s  cache=6.19mB
    INFO [07-03|21:28:00.411] Imported new chain segment               blocks=4  txs=74  mgas=8.266  elapse
    d=451.917ms mgasps=18.290 number=4668710 hash=d10922…2ff143 cache=6.69mB
    
    

    Block synchronisation started 문자가 나타날 때 노드를 동기화하기 시작합니다. 보통 처음에 1-2일 (fast 모드) 동기화합니다.

    동기화 종료

    > eth.blockNumber
    4741984
    > 
    

    이 명령이 반환된 결과가 체인의 최신 블록과 일치하면 동기화가 완료됩니다.

    덧붙이다


    rinkeby 테스트 웹 브라우저 메인 웹 브라우저

    좋은 웹페이지 즐겨찾기