在开发以太坊去中心化应用,免不了和以太坊进行交互,那就离不开Web3。
Geth 控制台(REPL)实现了所有的web3 APIAdmin API
使用好 Geth 就是必修课。结合Geth命令用法阅读效果更佳。

写在前面

阅读本文之前,你需要对以太坊(区块链)有初步的了解,如果你不知道以太坊是什么,请先阅读以太坊是什么
如果你在我的小专栏之外的地方阅读到本文,你可能只能阅读本文的节选,阅读完整全文请订阅小专栏区块链技术

geth控制台初探 - 启动、退出

安装参考智能合约开发环境搭建
最简单启动方式如下:

$ geth console

geth控制台启动成功之后,可以看到>提示符。
退出输入exit

geth 日志控制

重定向日志到文件

使用geth console启动是,会在当前的交互界面下时不时出现日志。
可以使用以下方式把日志输出到文件。

$ geth console 2>>geth.log

可以新开一个命令行终端输入以下命令查看日志:

$ tail -f geth.log

重定向另一个终端

也可以把日志重定向到另一个终端,先在想要看日志的终端输入:

$ tty

就可以获取到终端编号,如:/dev/ttys003
然后另一个终端使用:

$ geth console 2>> /dev/ttys003

启动geth, 这是日志就输出到另一个终端。
如果不想看到日志还可以重定向到空终端:

$ geth console 2>> /dev/null

日志级别控制

使用--verbosity可以控制日志级别,如不想看到日志还可以使用:

$ geth --verbosity 0 console

启动一个开发模式测试节点

geth --datadir /home/xxx/testNet --dev console

技巧:如果我们经常使用一个方式来启动,可以把命令存为一个bash脚本。
~/bin你可以放一些常用的脚本,并把~/bin加入到环境变量PATH里。

连接geth节点

另外一个启动geth的方法是连接到一个geth节点:

$ geth attach ipc:/some/custom/path
$ geth attach http://191.168.1.1:8545
$ geth attach ws://191.168.1.1:8546

如连接刚刚打开的开发模式节点使用:

geth attach ipc:testNet/geth.ipc

常用命令(API)使用

我们打开一个控制台后,会看到如下输出:

modules代表了所有可以使用的模块:

  • modules: admin:1.0 clique:1.0 debug:1.0 eth:1.0 miner:1.0 net:1.0 personal:1.0 rpc:1.0 shh:1.0 txpool:1.0 web3:1.0

在交互式命令行里输入任何一个模块名,就会列出所有支持的属性和函数,如输入:
```

eth
{
accounts: ["0x856e604698f79cef417aab0c6d6e1967191dba43", "0x81c9fdc9910740cdc0debf90ce52a087e3ce014e"],
blockNumber: 3,
coinbase: "0x856e604698f79cef417aab0c6d6e1967191dba43",
compile: {
lll: function(),
serpent: function(),
solidity: function()
},
defaultAccount: undefined,
defaultBlock: "latest",
gasPrice: 1,
hashrate: 0,

转自:http://www.cnblogs.com/tinyxiong/p/7944921.html

(转)Geth控制台使用及Web3.js使用实战的更多相关文章

  1. Geth控制台使用及Web3.js使用实战

    在开发以太坊去中心化应用,免不了和以太坊进行交互,那就离不开Web3. Geth 控制台(REPL)实现了所有的web3 API及Admin API, 使用好 Geth 就是必修课.结合Geth命令用 ...

  2. Geth 控制台使用及 Web3.js 使用实战

    在开发以太坊去中心化应用,免不了和以太坊进行交互,那就离不开Web3.Geth 控制台(REPL)实现了所有的web3 API及Admin API,使用好 Geth 就是必修课.结合Geth命令用法阅 ...

  3. 使用web3.js监听以太坊智能合约event

    传送门: 柏链项目学院 使用web3.js监听以太坊智能合约event   当我们在前端页面调用合约时发现有些数据不会立即返回,这时还需要再调用更新数据的函数.那么这样的方法使用起来非常不便,监听ev ...

  4. web3.js编译Solidity,发布,调用全部流程(手把手教程)

    web3.js编译Solidity,发布,调用全部流程(手把手教程) 下面教程是打算在尽量牵涉可能少的以太坊的相关工具,主要使用web3.js这个以太坊提供的工具包,来完成合约的编译,发布,合约方法调 ...

  5. Chrome控制台输入多行js

    Chrome控制台输入多行js 分类: chrome2013-09-08 09:40 342人阅读 评论(0) 收藏 举报 控制台 Chrome控制台中回车默认是执行,要想输入换行,应按Enter+S ...

  6. 再深刻理解下web3.js中estimateGas如何计算智能合约消耗的gas量

    我们可使用web3.js框架的estimateGas函数获得一个以太坊智能合约的Gas估计值 ,通过执行一个消息调用或交易,该消息调用或交易直接在节点的VM中执行,并未在区块链中确认,函数会返回估算使 ...

  7. web3.js

      安装 别按照官网上面 npm install web3 下载,我已经吃过一次亏了 npm initnpm install ethereum/web3.js --save   web3.isConn ...

  8. [转]How to Send Ethereum with Web3.js and Node

    原文:https://davekiss.com/ethereum-web3-node-tutorial/   Ethereum took the web and cryptocurrency worl ...

  9. Web3.js API 中文文档

    Web3.js API 中文文档 http://web3.tryblockchain.org/Web3.js-api-refrence.html web3对象提供了所有方法. 示例: //初始化过程 ...

随机推荐

  1. 一款Redis客户端,可以作为Redis Desktop manager的有效补充或替代

    一.由来 对于redis客户端,我和大多数人一样,都是用Redis Desktop Manager. 但我发现个问题,我的版本是0.9.1.771. 我这个版本有个问题,就是如果value太长的话,不 ...

  2. ubuntu安装图形界面

    命令行模式的Ubuntu16.04安装图形界面 apt-get update sudo apt-get install xinit sudo apt-get install gdm sudo apt- ...

  3. C语言结构体初始化(转载)

    <代码大全>建议在变量定义的时候进行初始化,但是很多人,特别是新人对结构体或者结构体数组定义是一般不会初始化,或者不知道怎么初始化. 1.初始化 typedef struct _TEST_ ...

  4. 10.5Djang admin 管理工具

    2018-10-5 17:30:57 Django admin 管理工具  参考连接: https://www.cnblogs.com/yuanchenqi/articles/8323452.html ...

  5. el表达式用==和eq的注意事项

    eq和==一般是一样的,但是注意el表达式中使用==判断的时候不允许有空格,例如: ${job.jobName==requestScope.user.job.jobName?"selecte ...

  6. Linux 下文件

     Linux下文件的三个时间(Atime,Mtime,Ctime) [root@node ~]# stat install.log File: `install.log' Size: Blocks: ...

  7. GIAC2018全球互联网架构大会深圳站盛况回顾,定格精彩瞬间!

    6月1日至2日,由知名软件培训公司msup和高可用架构联合推出的GIAC全球互联网架构大会在深圳华侨城洲际大酒店盛大召开.来自国内外顶级互联网公司.诸多著名科技图书作者在内的71名海内外著名专家与现场 ...

  8. Cookie映射

    Cookie映射 第 5 章 Cookie映射 http://amp.ad.sina.com.cn/sax/doc/zh-CN/xhtml/bk01pt02ch05.xhtml 第 5 章 Cooki ...

  9. Linux下TCP/socket编程

    写在前面:本博客为本人原创,严禁任何形式的转载!本博客只允许放在博客园(.cnblogs.com),如果您在其他网站看到这篇博文,请通过下面这个唯一的合法链接转到原文! 本博客全网唯一合法URL:ht ...

  10. java mvc spring boot

    spring mvchttp://www.cnblogs.com/wcf6676/p/5333352.html 利用mybatis-generator自动生成代码http://www.cnblogs. ...