当前位置:首页 » 以太坊知识 » 以太坊客户端命令

以太坊客户端命令

发布时间: 2025-03-14 17:31:19

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

以太坊的DAPP开发中,需要 页面开发 智能合约 开发,页面开发需要 H5 智能合约 开发用 Solidity 实现。页面和以太坊智能合约交互,就需要使用 Web3.js

Geth 控制台(REPL)实现了所有的 web3 API 及 Admin API ,如果你对Geth命令行不太熟悉,请参考之前的文章。
以太坊客户端Geth常用命令详解

重定向日志到文件

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

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

重定向另一个终端

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

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

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

日志级别控制

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

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

2. 以太币挖矿,用什么来挖

以太币挖矿教程

1、在硬盘上新建文件夹,比C:Eth。之后所有挖矿软件就存放在这里。

2、下载以下软件

1)Geth——选择Geth-Win下载然后解压

2)Ethminer——下载解压到同一个文件夹,重命名为“miner”

3)Ethereum Wallet(以太坊钱包)——下载Win以太坊钱包,解压之后重命名“wallet”

安装好所有软件

3、打开命令提示符(同时点击Win和R键或者点击开始菜单然后输入cmd)。命令提示符是命令行解析器,让你在操作系统中执行命令输入的软件。

之后你就拥有以太坊钱包了。但是没有余额,所以接下来你需要建立ethminer。暂时可以最小化钱包了。

挖矿

3. 选择以太坊客户端

有很多以太坊客户端供我们选择。我们推荐在开发和部署时使用不同的客户端。

我们推荐 Ganache ,它是一个运行在你个人电脑上的私有连客户端。它是 truffle 套种中的一部分,
Ganache 将智能合约和交易放在前台并且中心化,从而简化了dapp的开发。使用 Ganache 你可以
快速查看你们的应用是如何影响区块链的,并且对账户,余额,智能合约创建以及燃料消费进行自省。

Ganache 运行在 http://127.0.0.1:7545 。默认会创建是个账户,重启后账户依然不会变,
当然也可以手动随机账户,你也可以用你自己的账户。

我们同样也推荐使用 truffle develop ,它是 truffle 内置的开发链工具。不需要任何的额外安装,
你要使用它只需要一条命令行即可:

Truffle Develop 运行在 http://127.0.0.1:9545 上。

当你的开发机没有图形界面时就无法直接使用 Ganache ,而 Ganache CLI 就提供了没有图形界面系统的能力。

有很多官方和非官网的以太坊客户端你可以选择。以下是部分:

4. Foundry的基本使用总结

本文列举了 foundry 中常用的命令,方便后续查阅。使用 foundry 的工具主要涉及三大组件,分别对应不同的功能,接下来将详细介绍每个组件的使用方法和应用场景。

在使用 foundry 之前,需要先安装。可以通过访问 foundry 的官方网址 getfoundry.sh 进行安装。对于 mac 系统用户,可以使用以下命令进行安装:

foundry

foundry 工具包含三大组件,分别是 cast、anvil 和 forge。

**cast 使用**

cast 是用于执行以太坊 RPC 调用的命令行工具。它支持智能合约调用、发送交易和检索链数据等操作。cast 与 web3 的交互十分便捷,即使是非代码开发者也能轻松使用进行链上数据查询。

使用示例:

cast rpc eth_blockNumber --rpc-url=$ETH_RPC_URL

cast 支持环境变量 ETH_RPC_URL,读取时无需在命令中体现,只需设置该变量即可。

**cast 查询功能**

- **区块高度**:使用 `cast rpc eth_blockNumber` 查询。
- **区块信息**:使用 `cast block` 查询。
- **交易信息**:使用 `cast tx` 查询。
- **交易回执查询**:使用 `cast receipt` 查询。

**使用 jq 进行数据处理**

`jq` 是一个灵活的轻量级命令行 JSON 处理器,用于处理 JSON 输入并生成 JSON 输出。可应用于处理 cast 查询结果。

**交易模拟**

`cast run` 命令可用于模拟交易,以进行测试或研究特定交易场景。

**钱包相关功能**

`cast wallet new` 可创建新钱包,通过 `cast wallet sign` 进行签名操作。此外,`cast resolve-name` 和 `cast lookup-address` 功能用于 ENS 查询。

**合约相关功能**

在使用查看源代码功能前,需设置 `ETHERSCAN_API_KEY` 环境变量。`cast etherscan-source` 可用于查看合约源代码,通过 `-d` 参数保存结果。调用合约函数则使用 `cast call`。

查询合约存储位置的 `cast index` 命令可根据类型、键和槽位编号计算存储位置。

**anvil 使用**

`anvil` 提供了模拟从主网 fork 的功能,通过 `casat —fork-url=$ETH_RPC_URL` 实现。常用命令参数包括 `—accounts`、`—balance` 和 `—fork-block-number`。

**forge-智能合约开发框架**

`forge init` 命令初始化项目,`forge build` 编译代码,`forge test` 进行自动化测试。日志打印可通过 `emit log` 或 `console2.log` 实现,确保在使用 `forge test` 时使用 `—vvv` 参数以显示打印内容。

`cheatcode` 功能允许在测试合约中通过 `vm` 修改虚拟机状态,如 `vm.warp` 修改时间戳、`vm.startPrank` 和 `vm.stopPrank` 修改发件人、`vm.deal` 修改余额等。

`forge snapshot` 功能允许在每个测试用例的 gas 使用上创建快照,有助于优化 gas 费用。

**代码示例**

### 修改 ERC20 代币余额
在进行 ERC20 代币余额修改时,可以使用 `vm.deal` 函数。如果在测试环境中未部署 ERC20 合约,可通过 fork-url 直接使用主网的 ERC20 合约。

### fork-url 在代码中的实现
在代码中实现 fork-url 可以通过 `vm.envAddress` 函数读取 vm 中的环境变量地址,进而实现针对不同测试网络的灵活测试用例编写。

本文详细介绍了 foundry 的基本使用方法,旨在为开发者提供便捷的工具链,提高智能合约开发和测试的效率。通过上述指南,开发者能够更加熟练地掌握 foundry 的核心功能,为区块链项目开发提供有力支持。

5. 如何显示挖矿的成果

这个链接。如果你在本地启动了Geth客户端的话,页面会显示出如下信息:
在Balance(ethers)的下面就能看到账户的余额。单位是以太。

2.在命令行执行,geth console.启动以太坊的控制终端。
在出现">"提示符后,输入web3.fromWei(eth.getBalance(eth.coinbase), "ether")后,按回车确定。
就会显示出帐号的余额。单位是以太。

6. 在windows下怎么启动Truffle

Truffle是一个世界级的开发环境,测试框架,以太坊的资源管理通道,致力于让以太坊上的开发变得简单,Truffle有以下:
内置的智能合约编译,链接,部署和二进制文件的管理。
快速开发下的自动合约测试。
脚本化的,可扩展的部署与发布框架。
部署到不管多少的公网或私网的网络环境管理功能
使用EthPM&NPM提供的包管理,使用ERC190标准。
与合约直接通信的直接交互控制台(写完合约就可以命令行里验证了)。
可配的构建流程,支持紧密集成。
在Truffle环境里支持执行外部的脚本。
Truffle是最流行的开发框架,使命是让开发更容易
安装方式:
$ npm install -g truffle
环境要求
NodeJS 5.0+
Windows,Linux,或Mac OS X
Truffle需要以太坊客户端,需要支持标准的JSON RPC API。对于开发来说,有一些更适合,后续章节会介绍(如:testRPC提供编码调试时的实时反馈)。
Windows用户的建议
如果你是Windows用户,我们推荐你使用Powershell或Git BASH来安装和使用Truffle框架。这两个shell环境相对默认的,提供了更方便的一些特性。
如果你必须使用命令行,可以看这里的关于如何配置Truffle的讨论。

7. ETH转账的2种方式的对比

web3j支持使用以太坊钱包文件(推荐)和以太网客户端管理命令来发起一笔交易。当你创建了一个拥有以太币的账户后,你可以通过以下两种交易机制,和以太坊网络(私网/公网)交易:

这里主要讲一下 线下签名交易(Offline transaction signing) 。线下签名交易允许你使用web3j提供的钱包账户发起交易,你完全控制自己的私钥,交易发送到网络上的其它节点并广播。

线下签名交易使用 RawTransaction 对象来完成,一共有如下几步:

1、通过私钥或密码+钱包文件(keystore)来加载转账凭证Credentials
2、获取发起转账账户的nonce 值,也就是第几笔交易
3、创建 RawTransaction交易 对象
4、签名 RawTransaction 对象,也就是对交易做签名
5、发送交易( RawTransaction 对象)给节点处理。
6、获取交易哈希值TxHash

以太坊实战-再谈nonce使用陷阱: https://blog.csdn.net/wo541075754/article/details/79054937

此外,还有一种简单的转账方式

这种方式,不需要自己管理nonce。

这2种方式都是离线交易,先组装交易,然后发送到链上。

参考:
https://docs.web3j.io/getting_started.html#transactions
https://www.jianshu.com/p/6650d2a3aea9

热点内容
以太坊客户端命令 发布:2025-03-14 17:31:19 浏览:826
ltc业务流程英文 发布:2025-03-14 17:29:18 浏览:503
星露谷物语怎么挖矿效率最高 发布:2025-03-14 16:36:26 浏览:921
手机百度挖矿游戏下载 发布:2025-03-14 16:27:18 浏览:633
币圈新闻政策 发布:2025-03-14 16:26:39 浏览:802
人民日报关于区块链的文章全文 发布:2025-03-14 16:17:38 浏览:483
了解币圈最新消息什么最好 发布:2025-03-14 16:13:24 浏览:662
比特币高手群 发布:2025-03-14 16:11:50 浏览:153
币圈庄家割韭菜步骤 发布:2025-03-14 16:05:59 浏览:76
eth新机制 发布:2025-03-14 15:55:00 浏览:322