geth, web3.js, JSON RPC, truffle之间的关系

本文深入探讨了以太坊技术的关键组件,包括Geth、web3.js、JSONRPC和Truffle框架。详细介绍了这些工具如何与以太坊区块链交互,以及它们在智能合约开发和部署中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

45a055bcc9b34324aeaea9f61c3d8cf1803.jpg

1. geth
geth的全称是Go-ethereum,是一个以太坊客户端,用go语言编写。它可以通过交互式控制台启动,该控制台提供了一个JavaScript运行时环境。内置了eth, web3.js等对象(来自书籍《区块链开发实战:以太坊关键技术与案例分析》)

2. web3.js
web3.js封装了JSON RPC,可以和任何暴露了RPC接口的以太坊区块链节点链接。

ABI是Application Binary Interface的缩写,字面意思 应用二进制接口,可以通俗的理解为合约的接口说明。当合约被编译后,那么它的abi也就确定了

Address 智能合约的地址 (由以太坊内部提供),以太坊地址的长度,大小20个字节,160位,所以可以用一个uint160编码。地址是所有合约的基础,所有的合约都会继承地址对象,也可以随时将一个地址串,得到对应的代码进行调用。

3. JSON RPC
JSON RPC可以和任何暴露了RPC接口的以太坊区块链节点链接,操作比web3.js更繁琐,需要配合curl使用,命令写起来比较长,如:

curl -X POST -H “Content-Type”:application/json –data ‘{“jsonrpc”:”2.0″, “method”:”eth_getBalance”,”params”:[“0x75b567b6d35c56a4e25c217efe892cfbb53d3d46″,”latest”],”id”:1}’ localhost:3000

4. truffle
truffle是以太坊开发智能合约的框架,可以快速构建项目并部署智能合约到区块链。几个步骤就可以创建、编译和部署项目:

truffle init

truffle compile

truffle migrate

 

转载于:https://my.oschina.net/88sys/blog/2208230

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值