10 minute read

  • 위치
  • C:\Users\PC-0092\AppData\Roaming\Ethereum Wallet\binaries\Geth\unpacked
  • geth.exe  –testnet –networkid 3  –datadir “C:\Users\PC-0092\AppData\Roaming\Ethereum\testnet” 
  • 이렇게 실행하면 –datadir 에 설정된 곳에 주요 폴더가 생긴다.
  • 다만 mist는 그런게 없으니… geth 폴더 하나만 사용한다. 주의

  • geth.exe console; //노드싱크를 백드라운드로 하면서 대화형 프롬프트를 보여준다. 
    geth.exe attach; //이미 실행중인 노드에 접속한다. 대화형 프롬프트가 보인다. (보통 로컬로 동작 중인 것에 자동 접속)
  • geth.exe  –testnet –networkid 3  –fast –cache=2048 –datadir “C:\Users\PC-0092\AppData\Roaming\Ethereum\testnet” 
    –fast와 –cache=1024 를 같이 줄 경우 빨리 데이터를 받을 수 있다. (다만 데이터가 없어야한다. 즉, 최초 시작시)
    –cache=2048로 캐시를 더 늘렸다.(블럭체인 다운로드 캐시)
  • geth.exe  –testnet –networkid 3  –syncmode=”fast” –cache=2048 –datadir “C:\Users\PC-0092\AppData\Roaming\Ethereum\testnet” 
    –fast 옵션은 –syncmode=”fast” 로 바뀌었다.

  • 프라이빗 네트워크
  • node1

  • 초기화 (폴더에 geth 속 내용 지우고 해야함)

  • geth init Genesis.json –datadir “C:\Users\PC-0092\AppData\Roaming\Ethereum\private” 
  • 노드 실행

  • geth –identity “privatenode”  –networkid 8020 –port 30303 –rpcport 8101 console –datadir “C:\Users\PC-0092\AppData\Roaming\Ethereum\private” –nodiscover
  • geth –identity “privatenode”  –verbosity “5”  –networkid 8020 –port 30303 –rpcport 8101 console –datadir “C:\Users\PC-0092\AppData\Roaming\Ethereum\private” –nodiscover
  • node2

  • 초기화 (폴더에 geth 속 내용 지우고 해야함)

  • geth init Genesis.json –datadir “C:\Users\PC-0092\AppData\Roaming\Ethereum\private2” 
  • 노드 실행

  • geth –identity “privatenode”  –networkid 8020 –port 30302 –rpcport 8102 console –datadir “C:\Users\PC-0092\AppData\Roaming\Ethereum\private2”  –ipcdisable  –nodiscover –preload private2.js
  • geth –identity “privatenode” –verbosity 5   –networkid 8020 –port 30302 –rpcport 8102 console –datadir “C:\Users\PC-0092\AppData\Roaming\Ethereum\private2”  –ipcdisable  –nodiscover –preload private2.js
  • admin.addPeer(“enode://bf65c6c87b064acf001ec7ac5689575d1b4255740322eee858ebbb9582abdc2e26642c75e39a226428794a8263d048d0f12004e77d72c70c78293890d734a74b@192.168.1.180:30303”)

  • web3.js
  • https://github.com/ethereum/wiki/wiki/JavaScript-API

  • 채굴하기
  • miner.setEtherbase(eth.accouts[숫자]);
    or
    miner.setEtherbase(eth.coinbase);
  • miner.start(); //채굴시작
    miner.stop(); //채굴중지
  • miner.setExtra(“남길메세지”); //추굴 블럭에 남길 추가 메세지 입력. 32바이트. 블록체인탐색기에서 보인다.

  • web3
  • web3.js로 생성된 객체.
    기본적으로 사용되는 내용이 들어있다.

  • net
  • 현재 노드 네트워크 상태
  • {
      listening: true,
      peerCount: 12,
      version: “3”,  //1이면 운영, 3이면 테스트서버 ropsten)
      getListening: function(callback),
      getPeerCount: function(callback),
      getVersion: function(callback)
    }

  • eth
  • 이더리움 관련 객체.
  • eth.syncing //현재 노드 싱크 상태 객체
  • eth.getBalance(eth.coinbase); //wksrhghkrdls

  • miner
  • 마이닝 관련 객체.

  • personal
  • 계정관련 객체.
  • personal.newAccount(“계정암호”); // 새로운 계정 생성, 리턴값이 지갑값

준비중인 트랜지션 확인하기.

> eth.pendingTransactions [{     blockHash: null,     blockNumber: null,     from: “0xdfe4f640fd9be0d42c9b71434dc399b96aa6124b”,     gas: 136106,     gasPrice: 1000000000,     hash: “0x1a0d846ec8340d14685f12fc59275204f3cd5eb369d9db8416fdc7b3921ee8c1”,     input: “0xa9059cbb0000000000000000000000001526c3adefb505b0940e8817614a55cb5e b565500000000000000000000000000000000000000000000000000000000000000014”,     nonce: 11,     r: “0x56f223e50a48c82fc53a7db527bec3a36131b78e6b9329dec1bc7f2f5bdbb795”,     s: “0x6f5d9b945c76f0e5777e8db78cc07b9471300faebd1755b5f8e245a713707982”,     to: “0x737e42060e7584a7f029171979fafe68050b9336”,     transactionIndex: 0,     v: “0x29”,     value: 0 }]

NAME:    geth.exe - the go-ethereum command line interface

   Copyright 2013-2017 The go-ethereum Authors

USAGE:    geth.exe [options] command [command options] [arguments…]     VERSION:    1.7.2-stable-1db4ecdc     COMMANDS:    account     Manage accounts    attach      Start an interactive JavaScript environment (connect to node)    bug         opens a window to report a bug on the geth repo    console     Start an interactive JavaScript environment    copydb      Create a local chain from a target chaindata folder    dump        Dump a specific block from storage    dumpconfig  Show configuration values    export      Export blockchain into file    import      Import a blockchain file    init        Bootstrap and initialize a new genesis block    js          Execute the specified JavaScript files    license     Display license information    makecache   Generate ethash verification cache (for testing)    makedag     Generate ethash mining DAG (for testing)    monitor     Monitor and visualize node metrics    removedb    Remove blockchain and state databases    version     Print version numbers    wallet      Manage Ethereum presale wallets    help, h     Shows a list of commands or help for one command     ETHEREUM OPTIONS:   –config value                                         TOML configuration file   –datadir “C:\Users\PC-0092\AppData\Roaming\Ethereum”  Data directory for the databases and keystore   –keystore                                             Directory for the keystore (default = inside the datadir)   –nousb                                                Disables monitoring for and managing USB hardware wallets   –networkid value                                      Network identifier (integer, 1=Frontier, 2=Morden (disused), 3=Ropsten, 4=Rinkeby) (default: 1)   –testnet                                              Ropsten network: pre-configured proof-of-work test network   –rinkeby                                              Rinkeby network: pre-configured proof-of-authority test network   –dev                                                  Developer mode: pre-configured private network with several debugging flags   –syncmode “fast”                                      Blockchain sync mode (“fast”, “full”, or “light”)   –ethstats value                                       Reporting URL of a ethstats service (nodename:secret@host:port)   –identity value                                       Custom node name   –lightserv value                                      Maximum percentage of time allowed for serving LES requests (0-90) (default: 0)   –lightpeers value                                     Maximum number of LES client peers (default: 20)   –lightkdf                                             Reduce key-derivation RAM & CPU usage at some expense of KDF strength    ETHASH OPTIONS:   –ethash.cachedir                                  Directory to store the ethash verification caches (default = inside the datadir)   –ethash.cachesinmem value                         Number of recent ethash caches to keep in memory (16MB each) (default: 2)   –ethash.cachesondisk value                        Number of recent ethash caches to keep on disk (16MB each) (default: 3)   –ethash.dagdir “C:\Users\PC-0092\AppData\Ethash”  Directory to store the ethash mining DAGs (default = inside home folder)   –ethash.dagsinmem value                           Number of recent ethash mining DAGs to keep in memory (1+GB each) (default: 1)   –ethash.dagsondisk value                          Number of recent ethash mining DAGs to keep on disk (1+GB each) (default: 2)    TRANSACTION POOL OPTIONS:   –txpool.nolocals            Disables price exemptions for locally submitted transactions   –txpool.journal value       Disk journal for local transaction to survive node restarts (default: “transactions.rlp”)   –txpool.rejournal value     Time interval to regenerate the local transaction journal (default: 1h0m0s)   –txpool.pricelimit value    Minimum gas price limit to enforce for acceptance into the pool (default: 1)   –txpool.pricebump value     Price bump percentage to replace an already existing transaction (default: 10)   –txpool.accountslots value  Minimum number of executable transaction slots guaranteed per account (default: 16)   –txpool.globalslots value   Maximum number of executable transaction slots for all accounts (default: 4096)   –txpool.accountqueue value  Maximum number of non-executable transaction slots permitted per account (default: 64)   –txpool.globalqueue value   Maximum number of non-executable transaction slots for all accounts (default: 1024)   –txpool.lifetime value      Maximum amount of time non-executable transaction are queued (default: 3h0m0s)    PERFORMANCE TUNING OPTIONS:   –cache value            Megabytes of memory allocated to internal caching (min 16MB / database forced) (default: 128)   –trie-cache-gens value  Number of trie node generations to keep in memory (default: 120)    ACCOUNT OPTIONS:   –unlock value    Comma separated list of accounts to unlock   –password value  Password file to use for non-interactive password input    API AND CONSOLE OPTIONS:   –rpc                  Enable the HTTP-RPC server   –rpcaddr value        HTTP-RPC server listening interface (default: “localhost”)   –rpcport value        HTTP-RPC server listening port (default: 8545)   –rpcapi value         API’s offered over the HTTP-RPC interface   –ws                   Enable the WS-RPC server   –wsaddr value         WS-RPC server listening interface (default: “localhost”)   –wsport value         WS-RPC server listening port (default: 8546)   –wsapi value          API’s offered over the WS-RPC interface   –wsorigins value      Origins from which to accept websockets requests   –ipcdisable           Disable the IPC-RPC server   –ipcpath              Filename for IPC socket/pipe within the datadir (explicit paths escape it)   –rpccorsdomain value  Comma separated list of domains from which to accept cross origin requests (browser enforced)   –jspath loadScript    JavaScript root path for loadScript (default: “.”)   –exec value           Execute JavaScript statement   –preload value        Comma separated list of JavaScript files to preload into the console    NETWORKING OPTIONS:   –bootnodes value     Comma separated enode URLs for P2P discovery bootstrap (set v4+v5 instead for light servers)   –bootnodesv4 value   Comma separated enode URLs for P2P v4 discovery bootstrap (light server, full nodes)   –bootnodesv5 value   Comma separated enode URLs for P2P v5 discovery bootstrap (light server, light nodes)   –port value          Network listening port (default: 30303)   –maxpeers value      Maximum number of network peers (network disabled if set to 0) (default: 25)   –maxpendpeers value  Maximum number of pending connection attempts (defaults used if set to 0) (default: 0)   –nat value           NAT port mapping mechanism (any|none|upnp|pmp|extip:<IP>) (default: “any”)   –nodiscover          Disables the peer discovery mechanism (manual peer addition)   –v5disc              Enables the experimental RLPx V5 (Topic Discovery) mechanism   –netrestrict value   Restricts network communication to the given IP networks (CIDR masks)   –nodekey value       P2P node key file   –nodekeyhex value    P2P node key as hex (for testing)    MINER OPTIONS:   –mine                    Enable mining   –minerthreads value      Number of CPU threads to use for mining (default: 4)   –etherbase value         Public address for block mining rewards (default = first account created) (default: “0”)   –targetgaslimit value    Target gas limit sets the artificial target gas floor for the blocks to mine (default: 4712388)   –gasprice “18000000000”  Minimal gas price to accept for mining a transactions   –extradata value         Block extra data set by the miner (default = client version)    GAS PRICE ORACLE OPTIONS:   –gpoblocks value      Number of recent blocks to check for gas prices (default: 10)   –gpopercentile value  Suggested gas price is the given percentile of a set of recent transaction gas prices (default: 50)    VIRTUAL MACHINE OPTIONS:   –vmdebug  Record information useful for VM and contract debugging    LOGGING AND DEBUGGING OPTIONS:   –metrics                 Enable metrics collection and reporting   –fakepow                 Disables proof-of-work verification   –nocompaction            Disables db compaction after import   –verbosity value         Logging verbosity: 0=silent, 1=error, 2=warn, 3=info, 4=debug, 5=detail (default: 3)   –vmodule value           Per-module verbosity: comma-separated list of <pattern>=<level> (e.g. eth/*=5,p2p=4)   –backtrace value         Request a stack trace at a specific logging statement (e.g. “block.go:271”)   –debug                   Prepends log messages with call-site location (file and line number)   –pprof                   Enable the pprof HTTP server   –pprofaddr value         pprof HTTP server listening interface (default: “127.0.0.1”)   –pprofport value         pprof HTTP server listening port (default: 6060)   –memprofilerate value    Turn on memory profiling with the given rate (default: 524288)   –blockprofilerate value  Turn on block profiling with the given rate (default: 0)   –cpuprofile value        Write CPU profile to the given file   –trace value             Write execution trace to the given file    WHISPER (EXPERIMENTAL) OPTIONS:   –shh                       Enable Whisper   –shh.maxmessagesize value  Max message size accepted (default: 1048576)   –shh.pow value             Minimum POW accepted (default: 0.2)    DEPRECATED OPTIONS:   –fast   Enable fast syncing through state downloads   –light  Enable light client mode    MISC OPTIONS:   –help, -h  show help   

COPYRIGHT:    Copyright 2013-2017 The go-ethereum Authors    


🔗original-link

Updated: