主页 > imtoken转账怎么取消 > 以太坊操作介绍(技术文章)

以太坊操作介绍(技术文章)

imtoken转账怎么取消 2023-02-16 07:52:31

以太坊运行介绍 环境安装运行介绍 启动测试环境 运行介绍 实用参考资料 以太坊运行介绍 以比特币为代表的第一代区块链已经稳定运行数年。 编写智能合约函数的底层链是第二代区块链技术。 从源码来看,对以太坊进行简单操作,包括新增用户、挖矿、转账等环境vim 8.0MacOs 10.13.2go 1.10 .2(go语言版)安装

go语言安装

下载 go-ethereum

$ git clone https://github.com/ethereum/go-ethereum.git cd 到 go-ethereum 目录并执行以下操作: $ make geth

geth 解释(来自官方文档):我们主要的以太坊 CLI 客户端。 它是以太坊网络(主网、测试网或私有网)的入口点,能够作为全节点(默认)存档节点(保留所有历史状态)或轻节点(实时检索数据)运行。 它可以被其他进程用作通过暴露在 HTTP、WebSocket 和/或 IPC 传输之上的 JSON RPC 端点进入以太坊网络的网关。 geth –help 和命令行选项的 CLI Wiki 页面。

运行并启动测试环境

以太坊环境分为开发--dev和测试--testnet。 在源码中可以看到每个模块都有一个测试类,可以完美的模拟线上的真实环境。 说白了就是不用真金白银也能体验里面的表演操作。 然后在测试环境中进行以下操作。

创建测试文件存放目录

& mkdir ~/桌面/ethtest

附言。 以下测试文件日志会保存在该目录下,其他目录可自行修改

cd 到 go-ethereum 目录

方法一(推荐):$ geth --testnet console --datadir "~/Desktop/ethtest" 2>>file_to_log_output 方法二(不推荐):$ geth --testnet console --datadir "~/Desktop/ethtest"

原因:第二种方式会把日志输出到目录file_to_log_output,而不是不断的打印到界面。 试过就知道,对操作的干扰很大,也很难表现出来。

我们可以打开另一个窗口查看日志文件的变化: $ tail -f file_to_log_output Getting Started

走完上面这一套操作,我们的环境就搭好了,下面我们就愉快的操作起来。

创建账户 $ personal.newAccount('your password') 查看账户 $ eth.accounts 查看余额 $ user_one = eth.accounts[0] $ eth.getBalance(user_one) 查看区块号 $ eth.blockNumber 开始挖矿 $ miner. start() 停止挖矿 $ miner.stop() 转账 $ eth.sendTransaction({from: user 1,to: user 2,value: web3.toWei(value,"unit")})

附言。 我稍后会举例说明如何使用它

解锁账户 $ personal.unlockAccount("账户地址", "密码") 实战

以下是连接这些操作的示例。 假设用户1:小明想转账给小王1个以太币,操作流程如下:

1 创建小明和小王两个账号

$ personal.newAccount('小明密码')$ personal.newAccount('小王密码')

2 查看两个账号是否存在

$eth.账户

3 查看当前余额(应该是0)

$ xiaoming = eth.accounts[0]$ xiaowang = eth.accounts[1]$ eth.getBalance(xiaoming)$ eth.getBalance(xiaowang)

4 解锁小明的账号

$ personal.unlockAccount(xiaoming, "小明账号密码")

5 小明一开始没钱,怎么转账,挖矿

$ miner.start()

6 在上面的过程中,主要关注开头提到的日志文件file_to_log_output和小明的账户余额(如何操作上面已经讲过了),发现区块号会发生变化以太坊技术,最后停止挖矿

$ tail -f file_to_log_output $ eth。 getBalance(小明) $ eth。 块号 $ 矿工。 停止()

7 小明终于可以给小王转账了

$ eth.sendTransaction({from: xiaoming,to: xiaowang,value: web3.toWei(1,"ether")})

附言。 如果提示未解锁,重复第4步

8 查看小王的账户,应该发现还是0,因为还需要继续挖矿以太坊技术,等待矿工确认 # 发现还是0$ eth.getBalance(xiaowang)$ miner.start()# 查看file_to_log_output log$ miner.stop()# 找钱 账户到了!!!eth.getBalance(xiaowang) References

[1] 以太坊go源码 [2] 以太坊源码解析 [3] 以太坊安装与使用