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
    .....
    
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,692评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,482评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,995评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,223评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,245评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,208评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,091评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,929评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,346评论 1 311
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,570评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,739评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,437评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,037评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,677评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,833评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,760评论 2 369
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,647评论 2 354

推荐阅读更多精彩内容

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