操作系统centos7.6

概述

Geth(go-ethereum)是由以太坊基金会提供的官方以太坊协议实现,用Go编程语言编写的。Geth提供了一个交互式命令控制台,通过命令控制台中包含了以太坊的各种功能(API)。

1. 本地编译geth

cd ~/go/src/github.com/
git clone https://github.com/ethereum/go-ethereum.git
cd go-ethereum/
git branch -a
git checkout
git checkout release/1.9
make all
cp ./build/bin/geth /usr/bin
  • geth 最常用的CLI客户端
  • abigen 源代码生成器,用于将以太坊智能合约定义转换为易于使用的,编译时类型安全的Go软件包
  • bootnode 以太坊客户端实现的精简版本,仅参与网络节点发现协议,但不运行任何更高级别的应用程序协议
  • evm 能够在可配置的环境和执行模式下运行字节码
  • rlpdump 用于将二进制RLP转储(以太坊协议使用的数据编码,无论是网络还是共识方式)转换为用户友好的层次表示形式(例如rlpdump --hex CE0183FFFFFFC4C304050583616263)。

2. 利用docker启动节点

编写节点启动脚本

mkdir -p /root/ethereum_node
cd /root/ethereum_node
vi start-node.sh

start-node.sh内容如下:

#!/bin/bash
docker rm -f eth_node || true
DATADIR=/root/ethereum_node/chain
mkdir -p $DATADIR
docker run -it -d --name eth_node -v $DATADIR:/root/.ethereum  -p 8545:8545  -p 30303:30303 ethereum/client-go   --ws --rpc --rpcaddr 0.0.0.0 --rpccorsdomain '*' --rpcapi "db,eth,net,web3,personal" --allow-insecure-unlock --wsapi "personal,web3" --rinkeby   console

执行脚本

chmod 777 start-node.sh./start-node.sh

漫长的等待,待区块数据全部同步。

3. 登录到控制台

登录 javascript控制台,在控制台里可执行web3.js的api。

web3.js是一个javascript库,你可以使用HTTP或IPC连接本地或远程以太它节点进行交互。
web3的JavaScript库能够与以太坊区块链交互。 它可以检索用户帐户,发送交易,与智能合约交互等
api参考:https://web3js.readthedocs.io/en/v1.2.4/

geth attach rpc:http://xx.xx.xx.xx:8545

or

geth attach ipc://root/ethereum_node/chain/rinkeby/geth.ipc

查看eth所有的方法

eth

4. 创建账户

personal.listAccounts
personal.newAccount('pld123')
0xe7c5b662c719fe2a99fe20327fb2bf1aa8c0fdb2
personal.newAccount('pld123')
0x4fced1c852abcab76a9d2761c1db8d59e53a310c

去水龙头获取测试币:https://faucet.rinkeby.io/
需要 tweet或facebook账号,发送指定内容的消息,最多可获最多18.75个eth。

5. 构造一笔交易

方式一:使用sendTransaction方法

personal.unlockAccount(web3.eth.accounts[0], 'pld123', 300)
src = web3.eth.accounts[0];
dst = web3.eth.accounts[1];
#获取余额
web3.fromWei(eth.getBalance(eth.accounts[0]), 'ether')
web3.fromWei(eth.getBalance(eth.accounts[1]), 'ether')
# 转账
web3.eth.sendTransaction({from: src, to: dst, value: web3.toWei(0.01, "ether"), data: ""});

方式一:使用signTransactionsendRawTransaction方法

personal.unlockAccount(web3.eth.accounts[0], 'pld123', 300)
web3.eth.signTransaction({from: eth.accounts[0],gasPrice: "20000000000",gas: "21000",nonce: web3.eth.getTransactionCount(eth.accounts[0])+1,to: eth.accounts[1],value: web3.toWei(0.01, "ether"),data: ""
})
eth.sendRawTransaction()

以太坊测试网络rinkeby交易测试相关推荐

  1. 去中心化无险永续合约Shield即将在以太坊-Kovan网络发布测试活动

    去中心化无险永续合约Shield即将在以太坊-Kovan网络发布测试活动,Shield早期社区成员将拥有测试网的专有内测权.Shield已于4月2号开启对测试网资格和代币的申领,持续到4月9号.最终, ...

  2. 区块链学堂(6):以太坊生产网络/测试网络/私有网络

    区块链学堂(6):以太坊生产网络/测试网络/私有网络 要理解以太坊 PrivateNetwork 先要理解以太坊的两种官方网络 目前以太坊官方提供了两种网络 生产环境网络 测试网络 TestNet 下 ...

  3. 【以太坊】私有链和测试网的区别

    一.概述 我们想要学习一门新技术,那么一般都是先网上查查相关概念,然后下载下来demo进行测试,本地跑通之后就可以尝试在项目中使用.那么学习以太坊该如何学习呢? 博主也是一位初学者,这里和大家一起学习 ...

  4. 以太坊(Ethereum) - 网络节点

    章节 以太坊(Ethereum) – 是什么 以太坊(Ethereum) – 什么是智能合约 以太坊(Ethereum) – 以太币 以太坊(Ethereum) – 虚拟机(E.V.M.) 以太坊(E ...

  5. 深入理解以太坊 P2P 网络设计

    前言 在设计公链时,节点与节点之间建立连接需要 P2P 协议,从而实现数据的同步,于此同时上层应用还需要封装一些通信逻辑,比如节点之间的区块同步.交易数据同步等. 本篇文章将对 P2P 网络发展进行简 ...

  6. 以太坊闪电网络实现原理

    2019独角兽企业重金招聘Python工程师标准>>> 以太坊闪电网络实现原理 线上直接转账需要一定的费用,如果存在大量小额交易的情况下,费用会变的难以承受,因而以太坊引入了微交易支 ...

  7. 0.45秒!以太坊平均网络传输时间又双叒叕缩短了;以太坊全球节点分布覆盖英国、法国及德国...

    作者 | Carol 出品 | CSDN.amberdata.io.区块链大本营(blockchain_camp) 他来了,他来了,他踩着周五的尾巴走来了! 哈喽艾瑞巴蒂,这里是每周准时到来的[数据周 ...

  8. 以太坊源码分析-交易

    以太坊源码分析-交易 机理 先说一点区块链转账的基本概念和流程 用户输入转账的地址和转入的地址和转出的金额 系统通过转出的地址的私钥对转账信息进行签名(用于证明这 笔交易确实有本人进行) 系统对交易信 ...

  9. 以太坊应用网络项目LUKSO通过可逆ICO筹集1800万美元

    2月18日,开发人员.以太坊应用网络项目LUKSO创始人Fabian Vogelsteller发推称,在经历1.5年的律师.监管机构.编码.破解数学和几乎放弃之后,重启可逆ICO(Reversible ...

最新文章

  1. Opencv4.0运行yolov3
  2. SpringBoot集成Druid
  3. WICC上了全球很多家交易所,它是一种资产和流动性的代表
  4. ARP解决方法/工具 真假ARP防范区别方法 ARP终极解决方案
  5. Windows域内的时间同步
  6. C语言函数class,C语言--7-class-while和函数.ppt
  7. 【大数据】如何用形象的比喻描述大数据的技术生态?Hadoop、Hive、Spark 之间是什么关系?
  8. C#设计模式学习资料--原型模式
  9. AJAX 带有 取消功能的 UpdateProgress
  10. linux page cache 大小,Linux内核学习笔记(八)Page Cache与Page回写
  11. opencv画线和文字
  12. c++ error函数_Linux中create_elf_tables函数整型溢出漏洞分析(CVE201814634)
  13. 加载不了ajax,简单的jquery ajax内容加载不起作用
  14. mdadm管理raid
  15. 如何开展o2o营销活动?
  16. ubuntu无法进入图形界面,开机重复进入gun grup
  17. 阿里P9面试官分享:应聘阿里全流程
  18. Windows运行机理——消息与消息队列
  19. Excel图形转入CorelDRAW技巧
  20. 使用form表单文件上传(enctype)

热门文章

  1. lol手游账号服务器,英雄联盟手游
  2. pd对焦速度_自动对焦速度是由相机还是镜头决定的?
  3. 视频测试软件+视频测试硬件=视频质量测试解决方法+视频测试的重要性
  4. 三维点云处理-1.2主成分分析PCA
  5. 大数据资源争夺战此起彼伏,对用户而言是福是祸
  6. Unity技术手册 - 生命周期内速度限制(Limit Velocity Over Lifetime)子模块和速度继承(Inherit Velocity)子模块
  7. 初级X编程(非常好的入门学习资料)
  8. 北大「通班」!AI界泰斗朱松纯领衔、IEEE Fellow 陈宝权出任副院长
  9. IOS App的简单开发实例
  10. 强大的健身软件——Keep