美文网首页Golang与区块链
第二讲:go-ethereum - 命令到rpc

第二讲:go-ethereum - 命令到rpc

作者: 老苗 | 来源:发表于2018-11-29 09:10 被阅读3次

    未完待续

    一、目录讲解

    • cmd cli命令
      • geth 区块链创世块生成、账户、挖矿等操作
        • chaincmd.go
          • func initGenesis 初始化区块链的入口调用方法
          • func localConsole geth命令行模式
      • utils
        • flags.go 命令设置
    • core 区块链核心操作
      • rawdb 操作ethdb数据库
      • genesis.go 创始区块操作
        • func SetupGenesisBlock 设置创始区块
    • params 参数,类似模型
    • ethdb 数据库
    • vendor 第三方包
      • gppkg.in/urfave/cli.v1 命令行cli扩展包
      • gopkg.in/olebedev/go-duktape.v3 嵌入式Javascript引擎
      • github.com/robertkrimen/otto javascript解析器,和上面作用一样,比较
    • common
      • types.go hash和address长度设置
    • console geth命令行操作核心
    • internal
      • jsre js运行环境
      • web3ext 扩展web3
      • ethapi 扩展rpc api
    • ethclient js交互客户端与web3.js对应
    • node
      • defaults.go 节点默认配置
    • rpc
      • endpoints.go rpc服务端监听
      • server.go rpc服务端
      • client.go rpc客户端
    • eth
      api.go jsonrpc实现方法
      backend.go 实现APIs方法,参与rpc service

    关键命令

    命令1: personal.newAccount(password) - 新建账户

    api: internal/ethapi.go

    func (s *PrivateAccountAPI) NewAccount(password string) (common.Address, error)`
    

    命令2:miner.start(threadNum) - 开始挖矿,默认eth.accounts第一个用户

    api: eth/api.go

    func (api *PrivateMinerAPI) Start(threads *int) error
    

    命令3:miner.stop() - 停止挖矿

    api: eth/api.go

    func (api *PrivateMinerAPI) Stop()
    

    命令4:personal.unlockAccount(address, password) - 转账前解锁账户

    api: internal/ethapi.go

    func (s *PrivateAccountAPI) UnlockAccount(addr common.Address, password string, duration *uint64) (bool, error)
    
    

    命令5:eth.sendTransaction({from: _, to: _, value: _}) - 转账

    api: eth/api.go

    func (p *peer) SendTransactions(txs types.Transactions) error
    

    相关文章

      网友评论

        本文标题:第二讲:go-ethereum - 命令到rpc

        本文链接:https://www.haomeiwen.com/subject/nckxcqtx.html