美文网首页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