精华内容
下载资源
问答
  • 以太坊Geth使用教程

    千次阅读 2018-03-23 16:56:29
    一、Geth创建私链1.创建一个genesis.json文件内容如下:{ "config": { "chainId": 110, "homesteadBlock": 0, "eip155Block": 0, "eip158Block": 0 }, &...

    一、Geth创建私链

    1.创建一个genesis.json文件

    内容如下:

    {
      "config": {
            "chainId": 110,
            "homesteadBlock": 0,
            "eip155Block": 0,
            "eip158Block": 0
        },
      "alloc"      : {},
      "coinbase"   : "0x0000000000000000000000000000000000000000",
      "difficulty" : "0x07000",
      "extraData"  : "",
      "gasLimit"   : "0x2fefd8",
      "nonce"      : "0x0000000000000042",
      "mixhash"    : "0x0000000000000000000000000000000000000000000000000000000000000000",
      "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
      "timestamp"  : "0x00"

    }

    关于JSON文件参数的解释

    参数

    描述

    mixhash       

    与nonce配合用于挖矿,由上一个区块的一部分生成的hash。注意他和nonce的设置需要满足以太坊的黄皮书描述条件

    nonce        

    nonce就是一个64位随机数,用于挖矿,注意他和mixhash的设置需要满足以太坊的黄皮书描述的条件

    difficulty

    设置当前区块的难度,如果难度过大,cpu挖矿就很难,这里设置较小难度

    alloc

    用来预置账号以及账号的以太币数量,因为私有链挖矿比较容易,所以我们不需要预置有币的账号,需要的时候自己创建即可以。

    coinbase

    矿工的账号,随便填

    timestamp                

    设置创世块的时间戳

    parentHash

    上一个区块的hash值,因为是创世块,所以这个值是0

    extraData

    附加信息,随便填,可以填你的个性信息

    gasLimit

    该值设置对GAS的消耗总量限制,用来限制区块能包含的交易信息总和。

    2.将genesis.json拷贝至任意目录

    3.命令行环境执行初始化命令

    创建私有链 geth --datadir .\persondata\ init .\persondata\genesis.json


     

    登录私有链geth --datadir .\persondata\ --networkid 110 console


    init 是初始化创世区块的,如果已经初始化了,这个命令不需要执行,只需要执行第二条。
    datadir是表示当前区块链网络存储的位置。
    networkId:表示目前私链网络Id,这个ID是唯一标识,需要注意。


    如上图,当执行完以上命令后,会出现两个目录:
    Geth目录:用于保存该链上geth保存的该链上的区块数据
    keystore目录:保存的该链上的用户信息


    二、账户操作

    创建一个账户               personal.newAccount("123456") ,输入参数就是密码,账户地址保存在keystore目录下 。                                                                       


    注意:一定要输入字符串,否则会报错!

    查询账户信息      personal.listAccounts ,读取的是本地keystore目录下的账户地址信息                                 



    三、检查连接信息和Enode

    查看连接状态net.listening ,查看当前连接状态信息                                                                                                                               

    查看对等节点连接数量 net.peerCount                                                                                                                                                              


    查看所连接的私有链 net.version                                                                                                                                     


    查看自己的Enode  admin.nodeInfo ,把自己的Enode暴露出去,可以让别人添加你的节点,让别人连入你搭建的私有链网络                                                                                                                                                 


    查看自己连接的节点

     admin.peers ,这个命令可以查看自己连接了那些对端节点,这里仅仅是网络自发现的节点。                                



    添加别人的节点 admin.addPeer("enode://xxx@ip:port") ,  admin.nodeInfo可以看字enode信息格式                                                            



    四、挖矿

    启动挖矿

      miner.start(x) ,x是启动几个核心来挖矿                             

    第一次挖矿的话,时间稍微有点长,如下图会先生成DAG文件,等DAG文件下载到百分之百后,就会开始挖矿。

    如下图,说明你已经挖到以太币了。


    停止挖矿      miner.stop()  ,另外一种方法就是直接关掉当前geth的进程                            


    查看挖矿账户余额              eth.getBalance(eth.accounts[0]) ,默认的挖矿账户是当前账户列表中的第一个                                                                     


    账户中以太币余额默认以最小单位显示:1个以太币=10的18次方个wei,将wei转为以太币:

    余额转换 web3.fromWei(eth.getBalance(eth.accounts[0]),'ether')                                                                                      


    设置挖矿账户     miner.setEtherbase(eth.accounts[1]) ,设置挖矿账户                                                                                           eth.coinbase                                  

    成功挖到一次矿后就停止miner.start(1);admin.sleepBlocks(1);miner.stop()                                                                                                                      


    五、转账

    在第四步我们已经进行了挖矿,我们在创建一个账户就可以进行转账了。


    从上图可以看到第一个账户通过挖矿获得了105个以太币,第二个账户没有以太币。那么执行转账交易。


    上图中在执行过程中首先第一步是解锁转账人账户也就是第一个账户,然后在发送交易。发送完交易后,可以查看第二个账户上并没有转过来的5个以太币,这是为什么呢?因为没人挖矿,所以这笔交易并没有计入区块链,当有矿工挖矿计入区块链后,第二个账户才真正拿到这笔交易。如下图,说明这笔交易提交了,但是还在处理中。挖矿后,pending就为0了。


    查看转账交易  eth.getTransaction("xxxx"),参数为交易返回hash                         

    下图是两笔转账交易,第一笔是提交了,还没有记入区块的,第二笔是已经被矿工挖到的,所以块是有hash的。从下图参数中可以看到区块号,可以通过区块号查看这个块信息:



    查看区块信息eth.getBlock(22) ,入参是区块号                                                                                                                       


    下图就是一个典型的区块的数据结构,我们可以看到transactions字段中得知看当前块记录了几笔交易。



    六、智能合约的部署和调用

    关于转账和智能合约的部署以及调用,后期会通过以太坊钱包来操作,这样可以简化命令行操作繁杂操作,更好入门。不过命令行操作能够更好的理解以太坊客户端运行的流程和部分信息,后期还会在讲解以太坊的过程中使用Geth。


    七、配置静态节点

    Geth支持一个叫静态节点的特征,如果你有特定的端点,你会一直想与静态节点连接。如果断开连接,静态节点会再次连接。你可以配置永久性静态节点,方法是将如下所说的放进/personData/Geth/static-nodes.json(这应该是和chaindata以及keystone在同一个文件夹),下边的数据是demo。


    展开全文
  • 安装以太坊源码,即安装Go Ethereum(安装Geth) 在不同操作系统上安装以太坊源码(Geth)的步骤有些不同,具体安装步骤的方法查看[Building Ethereum]...

     

    安装以太坊源码,即安装Go Ethereum(安装Geth)

    在不同操作系统上安装以太坊源码(Geth)的步骤有些不同,具体安装步骤的方法查看[Building Ethereum](https://github.com/ethereum/go-ethereum/wiki/Building-Ethereum)。

     

    本教程的安装主要以CentOS7.5 为例

     

    下载源代码之前,应该先安装好Go语言环境,因为 Go Ethereum 需要用Go 和C 语言编译。

     

    安装Golang

    可以直接使用 yum 这个包管理器安装Golang

    yum install golang

     

    下载以太坊源码(Go Ethereum)

    首先下载geth源码 go-ethereum,这里以 go-ethereum-1.9.7.tar.gz 为例:

     

    安装以太坊源码(安装Geth)

    接下来解压缩源码:

    tar -xzf go-ethereum-1.9.7.tar.gz 

    用下面的命令编译:

    cd go-ethereum-1.9.7
    make geth    

    make geth 也可以用make all 进行替代,make all 还会编译一些其他的程序套件

    编译完成后,此时会在 go-ethereum-1.9.7/build/bin 中生成geth可执行文件。

    输入 geth help 命令,会显示geth所有的命令和选项:

    cd build/bin
    ./geth help

     

    配置geth

    直接使用geth命令可能出现:

    -bash: geth: command not found
    • 解决方法一:可以为其的安装路径建立软连接
    ln -s /data/go-ethereum-1.9.7/build/bin/geth  /usr/local/bin/geth
    • 解决方法二:也可以为其创建全局配置(对所有系统用户生效,永久生效,推荐)

    通过vim 打开编辑器

    vim /etc/profile

    在最后一行追加以下内容:

    export PATH=$PATH:/data/go-ethereum-1.9.7/build/bin/

    然后让配置立即生效:

    source /etc/profile

    用 geth version 测试一下:

    geth version

    参考:

    安装以太坊geth客户端的方法

    Go Ethereum

    以太坊(1) : 在 CentOS 上搭建以太坊私有链的步骤(图文详细)

    CentOS 以太坊(Etherum) 环境搭建及挖矿

    展开全文
  • 部署教程:https://www.jianshu.com/p/406e9ba9985f 1、安装geth并编译 从github下载go-ethereum后开始编译,走到make geth时,给我提示: ​​ 这个错误是因为go的版本太低了,于是我去官网下载了go1.13.8.linux-...

    部署教程:https://www.jianshu.com/p/406e9ba9985f

    (go-ethereum下载到/usr/local目录下)

    • 从github下载go-ethereum后开始编译,走到make geth时,给我提示:
      ​​在这里插入图片描述
      查了资料后发现这个错误是因为go的版本太低了,于是我去官网下载了go1.13.8.linux-amd64.tar.gz

    • 安装go过程:

    (1)解压

    tar -xzf  go1.13.8.linux-amd64.tar.gz -C /usr/local/
    

    (2)添加环境变量
    vim /etc/profile

    export GOPATH=/usr/local/go
    
    export PATH=$GOPATH/bin:$PATH
    

    保存退出

    source /etc/profile
    

    (3)验证:

    go version
    

    在这里插入图片描述

    • 然后再次make geth:

    又报错:
    在这里插入图片描述
    这个错误是因为Go 1.13设置了默认的GOSUMDB=sum.golang.org,这个网站是被墙了的,用于验证包的有效性,可以通过如下命令关闭:

    go env -w GOSUMDB=off
    

    (参考https://www.jianshu.com/p/e0c878d4ca19)

    • 再次make geth:
      在这里插入图片描述
      成功!

    • 将 geth 添加到环境变量中 vi ~/.bashrc

    //export GETH="$GOPATH/src/github.com/ethereum/go-ethereum/build"
    export PATH="$PATH:/usr/local/go-ethereum/build/bin"
    export PATH="$PATH:/usr/local/go/bin"
    
    • 然后执行source ~/.bashrc,使配置生效。
    • 检查是否安装成功
    geth --help
    

    如果输出一些帮助提示命令,则说明安装成功。

    展开全文
  • 以太坊开发--geth的使用入门

    千次阅读 2018-04-27 10:11:17
    一、环境配置和程序安装1.1 安装 gethMAC OSX 首先确保已安装 homebrew,没有安装过的可以在命令行下执行/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)...

    一、环境配置和程序安装

    1.1 安装 geth

    MAC OSX

    首先确保已安装 homebrew,没有安装过的可以在命令行下执行/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 进行安装
    brew tap ethereum/ethereum
    brew install ethereum

    WINDOWS

    访问 https://geth.ethereum.org/downloads/
    下载并安装 Geth for Windows

    LINUX

    git clone https://github.com/ethereum/go-ethereum
    sudo apt-get install -y build-essential golang
    cd go-ethereum
    make geth

    在命令行下输入 geth -h , 有如下回显表示成功


    1.2 安装 solc

    首先确保安装过npm, 没有安装过的可以访问 npm网站下载安装
    npm install -g solc
    在命令行下输入 solc --help , 有如下回显表示成功


    二、配置私链节点

    2.1 创世块设置

    新建文件夹,命名随意,在此文件夹下创建genesis.json文件和data文件夹
    genesis.json 的内容如下:

    {
    "config": {
            "chainId": 123456,
            "homesteadBlock": 0,
            "eip155Block": 0,
            "eip158Block": 0
    },
    "nonce": "0x0000000000000042",
    "difficulty": "0x020000",
    "mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000",
    " coinbase": "0x0000000000000000000000000000000000000000",
    "timestamp": "0x00",
    "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
    "extraData": "0x11bbe8db4e347b4e8c937c1c8370e4b5ed33adb3db69cbdb7a38e1e50b1b82fa",
    "gasLimit": "0x4c4b40",
    "alloc": {}
    }


    2.2 初始化

    在命令行下进入刚才创建的文件夹,输入如下命令:
    geth --datadir data init genesis.json

    各参数代表的含义如下:

    init 表示初始化区块,后面跟着创世块的配置文件genesis.json
    datadir 数据存放的位置

    2.3 启动节点

    geth --datadir data --networkid 123456 --rpc --rpccorsdomain "*" --nodiscover console

    各参数代表的含义如下:

    networkid 设置当前区块链的网络ID,用于区分不同的网络,1表示公链
    rpc 表示启动rpc通信,可以进行智能合约的部署和调试
    console 表示启动命令行模式,可以在Geth中执行命令

    执行成功后将进入区块链的JavaScript控制台环境


    2.4 Geth JavaScript控制台环境使用说明

    创建新账号
    personal.newAccount()
    或者 personal.newAccount("123456")

    查看节点信息
    admin.nodeInfo

    挖矿
    开始挖矿 miner.start(1)
    停止挖矿 miner.stop()

    查看当前矿工账号
    eth.coinbase 默认为第一个账户

    修改矿工账号
    miner.setEtherbase(eth.accounts[1])

    查看账户信息
    eth.accounts[0]

    查看账户余额
    eth.getBalance(eth.accounts[0])
    或者 web3.fromWei(eth.getBalance(eth.accounts[0]), "ether")

    解锁账号
    personal.unlockAccount(eth.accounts[0])
    使用账户资金前都需要先解锁账号

    转账eth.sendTransaction({from:eth.accounts[0],to:"0x587e57a516730381958f86703b1f8e970ff445d9",value:web3.toWei(3,"ether")})
    使用 txpool.status 可以看到交易状态

    查看区块数据
    eth.blockNumber
    eth.getTransaction("0x0c59f431068937cbe9e230483bc79f59bd7146edc8ff5ec37fea6710adcab825")
    eth.getBlock(1) 通过区块号查看区块

    三、智能合约

    3.1 编辑合约代码

    创建一个 Token.sol 文件,内容如下:

    contract Token {
        address issuer;
        mapping (address => uint) balances;

        event Issue(address account, uint amount);
        event Transfer(address from, address to, uint amount);

        function Token() {
            issuer = msg.sender;
        }

        function issue(address account, uint amount) {
            if (msg.sender != issuer) throw;
            balances[account] += amount;
        }

        function transfer(address to, uint amount) {
            if (balances[msg.sender] < amount) throw;

            balances[msg.sender] -= amount;
            balances[to] += amount;

            Transfer(msg.sender, to, amount);
        }

        function getBalance(address account) constant returns (uint) {
            return balances[account];
        }
    }

    这份代码实现了一个简单的Token合约功能。
    issue 函数可以向充值以太到合约账户
    transfer 函数可以向其他账号发送token
    getBalance 函数可以获取某个账号的token余额

    3.2 编译与部署

    压缩合约代码
    命令行下执行 cat Token.sol | tr '\n' ' '
    这条命令将代码中的换行符替换成空格,这样我们的代码就只有一行了。命令执行成功后将回显复制下来。

    将合约代码保存为一个变量
    回到Geth JavaScript 控制台,执行如下命令,等于号后面的内容就是我们刚才复制下来的压缩后的合约代码。

    var tokenSource = 'contract Token { address issuer; mapping (address => uint) balances; event Issue(address account, uint amount); event Transfer(address from, address to, uint amount); function Token() { issuer = msg.sender; } function issue(address account, uint amount) { if (msg.sender != issuer) throw; balances[account] += amount; } function transfer(address to, uint amount) { if (balances[msg.sender] < amount) throw; balances[msg.sender] -= amount; balances[to] += amount; Transfer(msg.sender, to, amount); } function getBalance(address account) constant returns (uint) { return balances[account]; } }';

    编译
    var tokenCompiled = eth.compile.solidity(tokenSource);

    若不成功,请参考https://ethereum.stackexchange.com/questions/15435/how-to-compile-solidity-contracts-with-geth-v1-6提供的替代方案

    查看二进制代码
    tokenCompiled['<stdin>:Token'].code

    查看ABI
    tokenCompiled['<stdin>:Token'].info.abiDefinition

    创建合约对象
    var contract = eth.contract(tokenCompiled['<stdin>:Token'].info.abiDefinition);
    var initializer = {from: web3.eth.accounts[0], data: tokenCompiled['<stdin>:Token'].code, gas: 300000};
    var token = contract.new(initializer)

    输入命令 token 可以看到此时的token有transactionHash 但是没有address
    执行 miner.start(1) 一段时间后停止,我们的合约就发布到了链上

    3.3 与合约进行交互

    充值

    personal.unlockAccount(eth.accounts[0])
    token.issue.sendTransaction(eth.accounts[0], 100, {from: eth.accounts[0]});
    miner.start(1)
    miner.stop()

    发送 token

    token.transfer(eth.accounts[1], 30, {from: eth.accounts[0]})
    miner.start(1)
    miner.stop()

    查看余额

    token.getBalance()

    命令用法

    geth [选项] 命令 [命令选项] [参数…]

    版本:

    1.7.3-stable

    命令:

    account    管理账户

    attach    启动交互式JavaScript环境(连接到节点)

    bug        上报bug Issues

    console    启动交互式JavaScript环境

    copydb    从文件夹创建本地链

    dump      Dump(分析)一个特定的块存储

    dumpconfig 显示配置值

    export    导出区块链到文件

    import    导入一个区块链文件

    init      启动并初始化一个新的创世纪块

    js        执行指定的JavaScript文件(多个)

    license    显示许可信息

    makecache  生成ethash验证缓存(用于测试)

    makedag    生成ethash 挖矿DAG(用于测试)

    monitor    监控和可视化节点指标

    removedb  删除区块链和状态数据库

    version    打印版本号

    wallet    管理Ethereum预售钱包

    help,h    显示一个命令或帮助一个命令列表

    ETHEREUM选项:

    --config value          TOML 配置文件

    --datadir “xxx”        数据库和keystore密钥的数据目录

    --keystore              keystore存放目录(默认在datadir内)

    --nousb                禁用监控和管理USB硬件钱包

    --networkid value      网络标识符(整型, 1=Frontier, 2=Morden (弃用), 3=Ropsten, 4=Rinkeby) (默认: 1)

    --testnet              Ropsten网络:预先配置的POW(proof-of-work)测试网络

    --rinkeby              Rinkeby网络: 预先配置的POA(proof-of-authority)测试网络

    --syncmode "fast"      同步模式 ("fast", "full", or "light")

    --ethstats value        上报ethstats service  URL (nodename:secret@host:port)

    --identity value        自定义节点名

    --lightserv value      允许LES请求时间最大百分比(0 – 90)(默认值:0)

    --lightpeers value      最大LES client peers数量(默认值:20)

    --lightkdf              在KDF强度消费时降低key-derivation RAM&CPU使用

    开发者(模式)选项:

    --dev              使用POA共识网络,默认预分配一个开发者账户并且会自动开启挖矿。

    --dev.period value  开发者模式下挖矿周期 (0 = 仅在交易时) (默认: 0)

    ETHASH 选项:

    --ethash.cachedir                        ethash验证缓存目录(默认 = datadir目录内)

    --ethash.cachesinmem value              在内存保存的最近的ethash缓存个数  (每个缓存16MB ) (默认: 2)

    --ethash.cachesondisk value              在磁盘保存的最近的ethash缓存个数 (每个缓存16MB) (默认: 3)

    --ethash.dagdir ""                      存ethash DAGs目录 (默认 = 用户hom目录)

    --ethash.dagsinmem value                在内存保存的最近的ethash DAGs 个数 (每个1GB以上) (默认: 1)

    --ethash.dagsondisk value                在磁盘保存的最近的ethash DAGs 个数 (每个1GB以上) (默认: 2)

    交易池选项:

    --txpool.nolocals            为本地提交交易禁用价格豁免

    --txpool.journal value      本地交易的磁盘日志:用于节点重启 (默认: "transactions.rlp")

    --txpool.rejournal value    重新生成本地交易日志的时间间隔 (默认: 1小时)

    --txpool.pricelimit value    加入交易池的最小的gas价格限制(默认: 1)

    --txpool.pricebump value    价格波动百分比(相对之前已有交易) (默认: 10)

    --txpool.accountslots value  每个帐户保证可执行的最少交易槽数量  (默认: 16)

    --txpool.globalslots value  所有帐户可执行的最大交易槽数量 (默认: 4096)

    --txpool.accountqueue value  每个帐户允许的最多非可执行交易槽数量 (默认: 64)

    --txpool.globalqueue value  所有帐户非可执行交易最大槽数量  (默认: 1024)

    --txpool.lifetime value      非可执行交易最大入队时间(默认: 3小时)

    性能调优的选项:

    --cache value                分配给内部缓存的内存MB数量,缓存值(最低16 mb /数据库强制要求)(默认:128)

    --trie-cache-gens value      保持在内存中产生的trie node数量(默认:120)

    帐户选项:

    --unlock value              需解锁账户用逗号分隔

    --password value            用于非交互式密码输入的密码文件

    API和控制台选项:

    --rpc                      启用HTTP-RPC服务器

    --rpcaddr value            HTTP-RPC服务器接口地址(默认值:“localhost”)

    --rpcport value            HTTP-RPC服务器监听端口(默认值:8545)

    --rpcapi value              基于HTTP-RPC接口提供的API

    --ws                        启用WS-RPC服务器

    --wsaddr value              WS-RPC服务器监听接口地址(默认值:“localhost”)

    --wsport value              WS-RPC服务器监听端口(默认值:8546)

    --wsapi  value              基于WS-RPC的接口提供的API

    --wsorigins value          websockets请求允许的源

    --ipcdisable                禁用IPC-RPC服务器

    --ipcpath                  包含在datadir里的IPC socket/pipe文件名(转义过的显式路径)

    --rpccorsdomain value      允许跨域请求的域名列表(逗号分隔)(浏览器强制)

    --jspath loadScript        JavaScript加载脚本的根路径(默认值:“.”)

    --exec value                执行JavaScript语句(只能结合console/attach使用)

    --preload value            预加载到控制台的JavaScript文件列表(逗号分隔)

    网络选项:

    --bootnodes value    用于P2P发现引导的enode urls(逗号分隔)(对于light servers用v4+v5代替)

    --bootnodesv4 value  用于P2P v4发现引导的enode urls(逗号分隔) (light server, 全节点)

    --bootnodesv5 value  用于P2P v5发现引导的enode urls(逗号分隔) (light server, 轻节点)

    --port value        网卡监听端口(默认值:30303)

    --maxpeers value    最大的网络节点数量(如果设置为0,网络将被禁用)(默认值:25)

    --maxpendpeers value    最大尝试连接的数量(如果设置为0,则将使用默认值)(默认值:0)

    --nat value            NAT端口映射机制 (any|none|upnp|pmp|extip:) (默认: “any”)

    --nodiscover            禁用节点发现机制(手动添加节点)

    --v5disc                启用实验性的RLPx V5(Topic发现)机制

    --nodekey value        P2P节点密钥文件

    --nodekeyhex value      十六进制的P2P节点密钥(用于测试)

    矿工选项:

    --mine                  打开挖矿

    --minerthreads value    挖矿使用的CPU线程数量(默认值:8)

    --etherbase value      挖矿奖励地址(默认=第一个创建的帐户)(默认值:“0”)

    --targetgaslimit value  目标gas限制:设置最低gas限制(低于这个不会被挖?) (默认值:“4712388”)

    --gasprice value        挖矿接受交易的最低gas价格

    --extradata value      矿工设置的额外块数据(默认=client version)

    GAS价格选项:

    --gpoblocks value      用于检查gas价格的最近块的个数  (默认: 10)

    --gpopercentile value  建议gas价参考最近交易的gas价的百分位数,(默认: 50)

    虚拟机的选项:

    --vmdebug        记录VM及合约调试信息

    日志和调试选项:

    --metrics            启用metrics收集和报告

    --fakepow            禁用proof-of-work验证

    --verbosity value    日志详细度:0=silent, 1=error, 2=warn, 3=info, 4=debug, 5=detail (default: 3)

    --vmodule value      每个模块详细度:以 =的逗号分隔列表 (比如 eth/*=6,p2p=5)

    --backtrace value    请求特定日志记录堆栈跟踪 (比如 “block.go:271”)

    --debug                    突出显示调用位置日志(文件名及行号)

    --pprof                    启用pprof HTTP服务器

    --pprofaddr value          pprof HTTP服务器监听接口(默认值:127.0.0.1)

    --pprofport value          pprof HTTP服务器监听端口(默认值:6060)

    --memprofilerate value      按指定频率打开memory profiling    (默认:524288)

    --blockprofilerate value    按指定频率打开block profiling    (默认值:0)

    --cpuprofile value          将CPU profile写入指定文件

    --trace value              将execution trace写入指定文件

    WHISPER实验选项:

    --shh                        启用Whisper

    --shh.maxmessagesize value  可接受的最大的消息大小 (默认值: 1048576)

    --shh.pow value              可接受的最小的POW (默认值: 0.2)

    弃用选项:

    --fast    开启快速同步

    --light    启用轻客户端模式

    其他选项:

    –help, -h    显示帮助


    展开全文
  • 一、Geth创建私链 1.创建一个genesis.json文件 内容如下: { "config": { "chainId": 110, "homesteadBlock": 0, "eip155Block": 0, "eip158Block": 0 }, "alloc" : {}, "coinbase" ...
  • 以太坊Geth的安装使用1.Geth介绍2.Geth的安装第一步,下载安装geth第二步,配置环境变量第三步,新建 genesis.json第四步,初始化第五步,搭建私有网络1.IPC协议接入2.RPC协议接入第六步,创建新账户第七步,开始...
  • 本文档为混合教程,为 Geth 的私链搭建教程,目标为构建 windows 电脑,linux 服务器,安卓手机,树莓派的混合私链集群,有疑问请在 github 上的 issues 中提出或者在下方评论区回复,或者加群 457053357 ...
  • 在本文中,我们将看看以太坊节点是什么,并探索最受欢迎的节点之一,称为Geth。 为了与区块链进行通信,我们必须使用区块链客户端。客户端是能够与其他客户建立p2p通信信道,签署和广播交易,挖掘,部署和与智能合约...
  • 以太坊支持多种语言的客户端,go语言编写的geth客户端是其中的一种,用go语言实现了以太坊的功能,go-ethereum就是geth。 个人理解的以太坊客户端就是集成了EVM,能够管理你的所有账户,能够进行任何以太坊操作...
  • windows 平台以太坊geth 测试实验很多朋友在学习以太坊时,先下载geth 客户端,然后就卡死在同步公链的区块数据上,如果你的机器硬盘没有150G以上空间,CPU 没有4核以上,内存没有8G 以上,更不要说10M 以上的带宽...
  • 以太坊Geth

    2019-03-09 12:52:04
    在搜集资料后,发现了以太坊。就去了解了一下用法,虽然网上的教程很多,但在自己操作的过程中还是遇到了很多的问题。在这里记录一下。 0x01 Windows下的Geth安装 首先给下下载地址,提取码:xk3x 网上都是关于在...
  • Ubuntu以太坊Geth)全节点搭建流程

    千次阅读 2021-01-06 11:34:36
    以太坊节点流程 文章搭建环境为 Ubuntu 20.04, 但适用于所有 Linux 系统 1. 从github获取源代码 项目地址:https://github.com/ethereum/go-ethereum 2. 编译可执行文件 前提条件:Golang 1.11以上版本,Linux...
  • 1 Ubuntu用户可以选择在线安装geth的方式,在终端中依次执行以下命令即可: $ sudo add-apt-repository -y ppa:ethereum/ethereum $ sudo apt-get update $ sudo apt-get install ethereum 安装完成后就用geth ...
  • 以太坊学习1--Geth的安装

    千次阅读 2018-07-15 20:04:52
    Ethereum(以太坊)是一个使开发人员能够建立和发布下一代分布式应用的公共区块链平台。 通过其专用加密货币以太币(Ether)提供去中心化的虚拟机(称为“以太虚拟机”Ethereum Virtual Machine)来处理点对点合约。...
  • 最近在B站上学习尚桂谷的区块链视频,学到了以太坊安装geth,中间真是出现了众多波折啊!!!!!
  • php调用以太坊geth API说明

    千次阅读 2018-08-30 17:12:35
    上一篇我们开始ph以太坊环境构建,并做了一些基本的API调用。 这次我想再挖一下API的调用。 1.上次的补充 2.关于API的种类 3.从PHP调用 1.上次的补充 上一次,说明了geth的开始选项,但是-- rpcapi的说明没...
  • 以前让学生做毕业设计,今天有人问起来,就写一个小...一个是后台命令行客户端,如:geth(go语言),parity(Rust语言),他们是一个与以太坊网络交互的命令行客户端。其余的命令行客户还有 ethereumjs-lib(javascript),py...
  • 一、环境配置和程序安装1.1 安装 gethMAC OSX 首先确保已安装 homebrew,没有安装过的可以在命令行下执行/usr/bin/ruby -e “$(curl -fsSL ...下载并安装 Geth for WindowsLINUX git clone
  • geth的全称是go-ethereum,是一个以太坊客户端,用go语言编写,应该是目前最常用的客户端。当然以太坊客户端还有用C++,Ruby,Python,Java等其他多种语言编写的,不同类型的客户端是为了满足不同的需求场景。主要来介绍...
  • 本文讲述了详细的基于win10+geth的智能合约编译+部署+调用的全流程,如有疑问请在评论区多多交流! 编译过程: 首先打开remix-solidity-ide-中文版,这里可以进行智能合约的编写及编译,如下图: 这里我们新建一个...
  • 以太坊教程 b. 基本知识 公钥加密系统。 Alice有一把公钥和一把私钥。她可以用她的私钥创建数字签名,而Bob可以用她的公钥来验证这个签名确实是用Alice的私钥创建的,也就是说,确实是Alice的签名。当你...
  • 以太坊实战-attach命令

    千次阅读 2018-01-21 11:27:09
    在前面的实战教程中我们经常提到attach这个命令,今天就针对此命令做更深一步的介绍。 官方对此参数的解释如下: attach Start an interactive JavaScript environment (connect to node) 也就是说它是一个...
  • 以太坊详细入门教程

    千次阅读 2018-11-04 11:39:18
    1.以太坊的安装、私有链创世区块搭建、私有链节点的加入 安装以太坊: $ apt-get install software-properties-common $ add-apt-repository -y ppa:ethereum/ethereum $ apt-get update $ apt-get install ...
  • 安装以太坊运行环境,此博客发表时ethereum版本为1.7.3-stable,请依据实际情况确认版本信息,版本信息将在安装完成后展示,请留意。 PS:如果想安装开发者版本,输入以下命令安装: brew install ethereum ...
  • Ubuntu 20.04/18.04LTS下安装部署以太坊(ethereum/geth)全节点(Fullnode)钱包服务器。
  • Centos7以太坊客户端Geth安装教程 一、环境配置 Geth是基于Golang语言写的以太坊客户端,因此需要先安装Golang环境。 下载golang语言压缩包 wget https://dl.google.com/go/go1.16.linux-amd64.tar.gz 可以根据...
  • geth以太坊的官方客户端,它是一个命令行工具,提供很多命令和选项,可以运行以太坊节点、创建和管理账户、发送交易、挖矿、部署智能合约等1.安装Ubuntu虚拟机。 官网下载地址:http://www.ubuntu.com 如下图,选择...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,220
精华内容 488
关键字:

以太坊geth教程