Geth 命令

命令详情及翻译

  • geth 就是go-ethereum的命令行接口

  • 使用形式: geth [options] command [command options] [arguments...]

  • 当前版本: 1.7.2-stable-1db4ecdc

  • 命令参数(command)

    // 管理账户
    account     Manage accounts
    // 启动交互式JavaScript环境(连接到节点)
    attach      Start an interactive JavaScript environment (connect to node)
    // 打开浏览器并进入提交问题界面
    bug         opens a window to report a bug on the geth repo
    // 启动交互式JavaScript环境
    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文件
    js          Execute the specified JavaScript files
    // 显示许可证信息
    license     Display license information
    // 产生ethash验证缓存(测试)
    makecache   Generate ethash verification cache (for testing)
    // ethash挖掘生成DAG(测试)
    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
      // TOML的配置文件
      --config value                           TOML configuration file
      // "/Users/zsk/Library/Ethereum" 就是创建Ethereum文件夹和在其下创建数据库和密钥存储库的相应文件和 也可以是其他任何你想放置的位置以及文件以及文件名
      --datadir "/Users/zsk/Library/Ethereum"  Data directory for the databases and keystore
      // 密钥文件文件(默认在datadir文件夹下)
      --keystore                               Directory for the keystore (default = inside the datadir)
      --nousb                                  Disables monitoring for and managing USB hardware wallets
      // 网络标识符,长整型,默认是1
      --networkid value                        Network identifier (integer, 1=Frontier, 2=Morden (disused), 3=Ropsten, 4=Rinkeby) (default: 1)
      // Ropsten网络:预配置工作证明的测试网络
      --testnet                                Ropsten network: pre-configured proof-of-work test network
      // Rinkeby网络: 预配置权威证明的测试网络
      --rinkeby                                Rinkeby network: pre-configured proof-of-authority test network
       // 开发者模式(预先配置的带有多个调试标志的专用网络)
      --dev                                    Developer mode: pre-configured private network with several debugging flags
      // 区块链同步模式:fast,full,light
      --syncmode "fast"                        Blockchain sync mode ("fast", "full", or "light")
      // 报告ethstats服务器的url,例如:(nodename:secret@host:port)
      --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)
      // LES客户端最大可以用的节点(默认是20)
      --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 "/Users/zsk/.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
      
  • 真实配置过程

    1.  geth --datadir "/Users/zsk/Library/Ethereum" --dev
        解析:   --datadir "/Users/zsk/Library/Ethereum" 就是创建数据库和密钥存储库的相应文件和Ethereum文件夹
                --dev 开发者模式(预先配置的带有多个调试标志的专用网络)
        error:  Fatal: Error starting protocol stack: database already contains an incompatible genesis block (have d4e56740f876aef8, new e5be92145a301820). 暂未找到解决方案,但是不影响测试
    2.  geth --dev console 2>>file_to_log_output
        解析:   --dev 开发者模式
                console 启动交互式JavaScript环境
                该命令会打开geth控制台,同时在当前命令行所在的文件目录下生成一个叫做file_to_log_output的日志文件,一些操作打印日志会直接记录在这个文件中
    3.  geth控制台操作
        eth.accounts // 查看当前用户,返回值为一个数组
        personal.newAccount('密码') // 创建一个新的用户
        user1 = eth.accounts[0] // 把数组的第一个值赋予user1
        eth.getBalance(user1) // 查询这个账户的余额
        miner.start() // 开始挖矿
        miner.stop() // 停止挖矿
        personal.unlockAccount(user1,'123456') // 解锁用户1
        eth.sendTransaction({from: user1, to: user2, value:web3.toWei(3,'ether')}) // user1 向 user2 转3个币
        // 现在去查询user2余额还是为0,每次交易的确认,其实都是需要挖矿的,也就是被其他矿工共识确认,然后才能加入区块链的账本中
        // 所以在此挖矿
        miner.start() // 开始挖矿
        miner.stop() // 过一会停止挖矿
        // 此时在查询,就会发现user2中有3个币
        eth.getBalance(user2)
        
        
    
  • 完整geth命令介绍如下

    bogon:~ zsk$ geth help
    .....
    
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi阅读 7,682评论 0 10
  • **2014真题Directions:Read the following text. Choose the be...
    又是夜半惊坐起阅读 10,807评论 0 23
  • ——谨以此模糊不清的回忆献给爱我和爱我老爸的老妈 我盯着被闯进窗子的月光晒得发亮的白色天花板。这深夜的空气也和着白...
    末宅花阅读 422评论 1 0
  • Part1.自我增值 1.信念第一 信念,就是believe,是哪怕身处绝境,依然不可动摇的内心力量,是灵魂深处的...
    君无盐阅读 435评论 0 0
  • 投射儿子对学习的感觉越来越好,爱上学习。投射儿子上课集中注意力听讲与老师同频共振吸收课堂知识并及时消化,投射儿子课...
    冯梅fm阅读 190评论 0 0

友情链接更多精彩内容