| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 区块链 -> ethereum rpc -> 正文阅读 |
|
[区块链]ethereum rpc |
1.以太坊安装1.1安装环境ubuntu??20.04.1 1.2安装配件go环境 nodejs? 1.3源码安装
这将创建一个geth? go-ethereum/build/bin文件夹中的可执行文件,您可以将其移动到您想要运行的任何位置。二进制文件是独立的,不需要任何其他文件。
其他安装方式 2搭建私链2.1初始化创世区块每一个区块链都从创世区块开始。当第一次使用默认设置运行Geth时,它会将主网genesis提交到数据库中。对于专用网络(非主网),通常需要不同的genesis块。 以太坊允许通过创世配置文件来初始化创世区块,也可使用选择使用内置的多个网络环境的创世配置。默认使用以太坊主网创世配置。 编写创世区块的配置文件
根据配置用途可分为三大类: 链配置 config项是定义链配置,会影响共识协议,虽然链配置对创世影响不大,但新区块的出块规则均依赖链配置。
进行创世区块的初始化。当前区块链网络数据存放的位置为 2.1.1以太坊ChainID与NetworkIDChainId 是 EIP-155 引入的一个用来区分不同 EVM 链的一个标识。主要作用就是避免一个交易在签名之后被重复在不同的链上提交。最开始主要是为了防止以太坊交易在以太经典网络上重放或者以太经典交易在以太坊网络上重放。在以太坊网络上是从 2675000 这个区块通过 Spurious Dragon 这个硬分叉升级激活。 引入 ChainId 后,带来了哪些影响呢? 创建新的 EVM 链时,需要在 genesis 文件中指定 ChainId。这个 ChainId 最好不要和现有任何已经在公开运行的 EVM 链的 ChainId 相同,否则可以一个配置失误就误花掉一笔钱。已经被占用的 ChainId 可以通过这个查看geth官方安装。 NetworkId 主要用来在网络层标识当前的区块链网络。NetworkId 不一致的两个节点无法建立连接。 NetworkId 无法通过配置文件指定,只能通过参数 --networkid 来指定。所以我们启动自己私链节点上需要记得加上这个参数。如果不加这个参数也不指定网络类型,默认 NetworkId 的值和以太坊主网一致。
2.2启动私有链?使用下面的命令启动私有链。
参数解释:
?最简单的启动方式。 此时进入了geth的控制台,可以执行相关的命令。在执行命令前,可以使用 新建账号,密码为”pwd“:personal.newAccount(“pwd") 2.3 RPC以太坊客户端提供了API和一组远程调用的(RPC)命令,这些命令被编码成json的格式,被叫做JSON-RPC-API。本质上,JSON-RPC API就是一个接口,允许我们编写的程序使用以太坊客户端作为网关,访问以太坊网络和区块链上的数据 https://ethereum.org/en/developers/docs/apis/json-rpc/ 2.3.1 启动时开始rpc
参数解释
? 注意,由于版本的原因,rpc已经被启用,rpc指令有http代替 https://geth.ethereum.org/docs/rpc/server
RPC访问可以通过http://127.0.0.1:8545或http://localhost:8545 命令是以服务的形式持续运行的,需要再打开一个命令行窗口,输入:
eth:包含一些跟操作区块链相关的方法; 在命令行中,使用命令 将节点1的enode最后的ip部分(127.0.0.1)换为节点1的真实ip后,在另外一个机器(称为节点2)上用同样的命令启动geth。? 在节点2的命令行中使用 可以通过 ?2.4 RPC调用 按照上述命令启动geth控制台后,可以通过RPC远程调用命令。
另外一种调用方式 ?使用postman工具,请求方式设为POST,Headers设置"Content-Type"的值为”application/json“。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 21:34:09- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |