1. 账户相关接口
eth_accounts – 获取账户列表
{
"jsonrpc": "2.0",
"method": "eth_accounts",
"params": [],
"id": 1
}
输出示例:
{
"jsonrpc": "2.0",
"id": 1,
"result": [
"0x90F8bf6A479f320ead074411a4B0e7944Ea8c9C1",
"0xFFcf8FDEE72ac11b5c542428B35EEF5769C409f0"
]
}
字段解释:
: JSON-RPC 版本号
jsonrpc: 请求标识符
id: 账户地址数组,每个地址都是20字节的十六进制字符串
result
eth_getBalance – 查询余额
{
"jsonrpc": "2.0",
"method": "eth_getBalance",
"params": ["0xC29056169F9A933cfAF02d1d997356e3D6656584", "latest"],
"id": 1
}
输出示例:
{
"jsonrpc": "2.0",
"id": 1,
"result": "0x56bc75e2d63100000"
}
字段解释:
: 余额值,以wei为单位的十六进制数wei转换:
result示例值:
1 ETH = 10^18 wei = 100 ETH
0x56bc75e2d63100000
eth_getTransactionCount – 获取交易数量
{
"jsonrpc": "2.0",
"method": "eth_getTransactionCount",
"params": ["0xC29056169F9A933cfAF02d1d997356e3D6656584", "latest"],
"id": 1
}
输出示例:
{
"jsonrpc": "2.0",
"id": 1,
"result": "0x5"
}
字段解释:
: 账户发出的交易总数(nonce值)用途: 防止重放攻击,每笔交易必须有唯一的nonce
result
2. 交易相关接口
eth_sendTransaction – 发送交易
{
"jsonrpc": "2.0",
"method": "eth_sendTransaction",
"params": [{
"from": "0xC29056169F9A933cfAF02d1d997356e3D6656584",
"to": "0xefBFb91d702DBDa726d2d0949d0cafA3a56F2f98",
"value": "0x8ac7230489e80000",
"gas": "0x5208",
"gasPrice": "0x4a817c800",
"data": "0x"
}],
"id": 1
}
输出示例:
{
"jsonrpc": "2.0",
"id": 1,
"result": "0x88df016429689c079f3b2f6ad39fa052532c56795b733da78a91ebe6a713944b"
}
字段解释:
: 交易哈希,32字节的十六进制字符串交易参数:
result
: 发送方地址
from: 接收方地址
to: 转账金额(wei)
value: Gas限制
gas: Gas价格(wei)
gasPrice: 合约调用数据
data
eth_getTransactionByHash – 根据哈希查询交易
{
"jsonrpc": "2.0",
"method": "eth_getTransactionByHash",
"params": ["0x88df016429689c079f3b2f6ad39fa052532c56795b733da78a91ebe6a713944b"],
"id": 1
}
输出示例:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"blockHash": "0x1d59ff54b1eb26b013ce3cb5fc9dab3705b415a67127a003c3e61eb445bb8df2",
"blockNumber": "0x5daf3b",
"from": "0xc29056169f9a933cfaf02d1d997356e3d6656584",
"gas": "0x5208",
"gasPrice": "0x4a817c800",
"hash": "0x88df016429689c079f3b2f6ad39fa052532c56795b733da78a91ebe6a713944b",
"input": "0x",
"nonce": "0x15",
"to": "0xefbfb91d702dbda726d2d0949d0cafa3a56f2f98",
"transactionIndex": "0x1",
"value": "0x8ac7230489e80000",
"v": "0x25",
"r": "0x1b5e176d927f8e9ab405058b2d2457392da3e20f328b16ddabcebc33eaac5fea",
"s": "0x4ba69724e8f69de52f0125ad8b3c5c2cef33019bac3249e2c0a2192766d1721c"
}
}
字段解释:
: 所在区块哈希
blockHash: 所在区块号
blockNumber: 发送方地址
from: 分配的Gas数量
gas: Gas单价
gasPrice: 交易哈希
hash: 调用数据(同data)
input: 交易序列号
nonce: 接收方地址
to: 交易在区块中的索引
transactionIndex: 转账金额
value: 交易签名参数
v, r, s
eth_getTransactionReceipt – 获取交易收据
{
"jsonrpc": "2.0",
"method": "eth_getTransactionReceipt",
"params": ["0x88df016429689c079f3b2f6ad39fa052532c56795b733da78a91ebe6a713944b"],
"id": 1
}
输出示例:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"transactionHash": "0x88df016429689c079f3b2f6ad39fa052532c56795b733da78a91ebe6a713944b",
"transactionIndex": "0x1",
"blockHash": "0x1d59ff54b1eb26b013ce3cb5fc9dab3705b415a67127a003c3e61eb445bb8df2",
"blockNumber": "0x5daf3b",
"from": "0xc29056169f9a933cfaf02d1d997356e3d6656584",
"to": "0xefbfb91d702dbda726d2d0949d0cafa3a56f2f98",
"cumulativeGasUsed": "0x5208",
"gasUsed": "0x5208",
"contractAddress": null,
"logs": [],
"status": "0x1",
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
}
}
字段解释:
: 交易哈希
transactionHash: 交易索引
transactionIndex: 区块哈希
blockHash: 区块号
blockNumber: 发送方
from: 接收方
to: 区块累计使用的Gas
cumulativeGasUsed: 本交易使用的Gas
gasUsed: 如果是合约创建,返回合约地址
contractAddress: 事件日志数组
logs: 交易状态
status=成功,
0x1=失败
0x0: 日志布隆过滤器
logsBloom
3. 区块相关接口
eth_blockNumber – 获取最新区块号
{
"jsonrpc": "2.0",
"method": "eth_blockNumber",
"params": [],
"id": 1
}
输出示例:
{
"jsonrpc": "2.0",
"id": 1,
"result": "0x4b7"
}
字段解释:
: 最新区块号,十六进制格式示例:
result = 十进制1207
0x4b7
eth_getBlockByNumber – 根据区块号查询区块
{
"jsonrpc": "2.0",
"method": "eth_getBlockByNumber",
"params": ["latest", true],
"id": 1
}
输出示例:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"number": "0x1b4",
"hash": "0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331",
"parentHash": "0x9646252be9520f6e71339a8df9c55e4d7619deeb018d2a3f2d21fc165dde5eb5",
"nonce": "0xe04d296d2460cfb8472af2c5fd05b5a214109c25688d3704aed5484f9a7792f2",
"sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
"logsBloom": "0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331",
"transactionsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
"stateRoot": "0xd5855eb08b3387c0af375e9cdb6acfc05eb8f519e419b874b6ff2ffda7ed1dff",
"miner": "0x4e65fda2159562a496f9f3522f89122a3088497a",
"difficulty": "0x027f07",
"totalDifficulty": "0x027f07",
"extraData": "0x0000000000000000000000000000000000000000000000000000000000000000",
"size": "0x027f07",
"gasLimit": "0x9f759",
"gasUsed": "0x9f759",
"timestamp": "0x54e34e8e",
"transactions": [],
"uncles": []
}
}
字段解释:
: 区块号
number: 区块哈希
hash: 父区块哈希
parentHash: 工作量证明随机数
nonce: 叔区块哈希
sha3Uncles: 日志布隆过滤器
logsBloom: 交易树的根节点
transactionsRoot: 状态树的根节点
stateRoot: 挖矿节点地址
miner: 区块难度
difficulty: 链总难度
totalDifficulty: 区块大小(字节)
size: Gas限制
gasLimit: 已使用Gas
gasUsed: 时间戳
timestamp: 交易列表
transactions: 叔区块列表
uncles
4. 合约相关接口
eth_call – 调用合约视图函数
{
"jsonrpc": "2.0",
"method": "eth_call",
"params": [{
"to": "0x89d24A6b4CcB1B6fAA2625fE562bDD9a23260359",
"data": "0x70a0823100000000000000000000000090f8bf6a479f320ead074411a4b0e7944ea8c9c1"
}, "latest"],
"id": 1
}
输出示例:
{
"jsonrpc": "2.0",
"id": 1,
"result": "0x0000000000000000000000000000000000000000000000000de0b6b3a7640000"
}
字段解释:
: 合约函数返回值,十六进制编码data字段: 包含函数选择器和参数示例: 查询余额函数
result
balanceOf
eth_estimateGas – 估算Gas消耗
{
"jsonrpc": "2.0",
"method": "eth_estimateGas",
"params": [{
"from": "0xC29056169F9A933cfAF02d1d997356e3D6656584",
"to": "0xefBFb91d702DBDa726d2d0949d0cafA3a56F2f98",
"value": "0x8ac7230489e80000"
}],
"id": 1
}
输出示例:
{
"jsonrpc": "2.0",
"id": 1,
"result": "0x5208"
}
字段解释:
: 预估的Gas消耗量标准转账: 通常为21000 Gas (
result)
0x5208
eth_getCode – 获取合约字节码
{
"jsonrpc": "2.0",
"method": "eth_getCode",
"params": ["0x89d24A6b4CcB1B6fAA2625fE562bDD9a23260359", "latest"],
"id": 1
}
输出示例:
{
"jsonrpc": "2.0",
"id": 1,
"result": "0x60606040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063..."
}
字段解释:
: 合约的字节码,如果是EOA账户返回
result
0x
5. 网络相关接口
net_version – 获取网络ID
{
"jsonrpc": "2.0",
"method": "net_version",
"params": [],
"id": 1
}
输出示例:
{
"jsonrpc": "2.0",
"id": 1,
"result": "1337"
}
字段解释:
: 网络ID,Ganache默认是
result
1337
net_listening – 检查节点是否监听
{
"jsonrpc": "2.0",
"method": "net_listening",
"params": [],
"id": 1
}
输出示例:
{
"jsonrpc": "2.0",
"id": 1,
"result": true
}
字段解释:
:
result表示节点正在监听连接
true
net_peerCount – 获取对等节点数量
{
"jsonrpc": "2.0",
"method": "net_peerCount",
"params": [],
"id": 1
}
输出示例:
{
"jsonrpc": "2.0",
"id": 1,
"result": "0x0"
}
字段解释:
: 连接的对等节点数量,Ganache通常为0
result
6. 个人信息相关接口
personal_newAccount – 创建新账户
{
"jsonrpc": "2.0",
"method": "personal_newAccount",
"params": ["mypassword"],
"id": 1
}
输出示例:
{
"jsonrpc": "2.0",
"id": 1,
"result": "0x8e65fda2159562a496f9f3522f89122a3088497b"
}
字段解释:
: 新创建的账户地址
result
personal_unlockAccount – 解锁账户
{
"jsonrpc": "2.0",
"method": "personal_unlockAccount",
"params": ["0xC29056169F9A933cfAF02d1d997356e3D6656584", "password123", 300],
"id": 1
}
输出示例:
{
"jsonrpc": "2.0",
"id": 1,
"result": true
}
字段解释:
:
result表示解锁成功参数: 地址、密码、解锁时长(秒)
true
7. 挖矿相关接口
miner_start – 开始挖矿
{
"jsonrpc": "2.0",
"method": "miner_start",
"params": [1],
"id": 1
}
输出示例:
{
"jsonrpc": "2.0",
"id": 1,
"result": true
}
字段解释:
:
result表示开始挖矿成功参数: 挖矿线程数
true
eth_mining – 检查是否在挖矿
{
"jsonrpc": "2.0",
"method": "eth_mining",
"params": [],
"id": 1
}
输出示例:
{
"jsonrpc": "2.0",
"id": 1,
"result": true
}
字段解释:
:
result表示正在挖矿
true
8. Gas相关接口
eth_gasPrice – 获取当前Gas价格
{
"jsonrpc": "2.0",
"method": "eth_gasPrice",
"params": [],
"id": 1
}
输出示例:
{
"jsonrpc": "2.0",
"id": 1,
"result": "0x4a817c800"
}
字段解释:
: 当前Gas价格(wei per gas)示例:
result = 20 Gwei
0x4a817c800
9. 常用数值转换
以太坊单位转换
javascript
// Wei 到 Ether 转换
1 ETH = 10^18 wei
1 Gwei = 10^9 wei
// 十六进制转十进制
"0x5208" = 21000
"0x8ac7230489e80000" = 10 ETH
"0x56bc75e2d63100000" = 100 ETH
区块参数选项
: 创世区块
"earliest": 最新区块
"latest": 待处理状态
"pending"
这些接口涵盖了 Ganache-CLI 私网开发测试所需的大部分功能,可以满足智能合约开发、交易测试和区块链状态监控等需求。
辅助工具
以太坊环境搭建
十六进制转换十进制
以太单位换算


