EVM
Dưới đây là danh sách các phương thức JSON-RPC được hỗ trợ trên CrossFi, sắp xếp theo không gian tên.
Giải thích về ví dụ Curl
Các tùy chọn curl dưới đây có thể trả lại phản hồi nơi node phàn nàn về loại nội dung, điều này là do tùy chọn --data
đặt loại nội dung thành application/x-www-form-urlencoded
. Nếu node của bạn có phàn nàn, hãy tự đặt tiêu đề bằng cách đặt -H "Content-Type: application/json"
vào đầu cuộc gọi.
Các ví dụ không bao gồm URL/IP & port phải là đối số cuối cùng được cung cấp cho curl vd. 127.0.0.1:8545
Điểm cuối
Phương thức | Không gian tên | Đã thực hiện | Công khai | Ghi chú |
---|---|---|---|---|
web3_clientVersion | Web3 | ✔ | ✔ | |
web3_sha3 | Web3 | ✔ | ✔ | |
net_version | Net | ✔ | ✔ | |
net_peerCount | Net | ✔ | ✔ | |
net_listening | Net | ✔ | ✔ | |
eth_protocolVersion | Eth | ✔ | ✔ | |
eth_syncing | Eth | ✔ | ✔ | |
eth_gasPrice | Eth | ✔ | ✔ | |
eth_accounts | Eth | ✔ | ✔ | |
eth_blockNumber | Eth | ✔ | ✔ | |
eth_getBalance | Eth | ✔ | ✔ | |
eth_getStorageAt | Eth | ✔ | ✔ | |
eth_getTransactionCount | Eth | ✔ | ✔ | |
eth_getBlockTransactionCountByNumber | Eth | ✔ | ✔ | |
eth_getBlockTransactionCountByHash | Eth | ✔ | ✔ | |
eth_getCode | Eth | ✔ | ✔ | |
eth_sign | Eth | ✔ | ✔ | |
eth_sendTransaction | Eth | ✔ | ✔ | |
eth_sendRawTransaction | Eth | ✔ | ✔ | |
eth_call | Eth | ✔ | ✔ | |
eth_estimateGas | Eth | ✔ | ✔ | |
eth_getBlockByNumber | Eth | ✔ | ✔ | |
eth_getBlockByHash | Eth | ✔ | ✔ | |
eth_getTransactionByHash | Eth | ✔ | ✔ | |
eth_getTransactionByBlockHashAndIndex | Eth | ✔ | ✔ | |
eth_getTransactionReceipt | Eth | ✔ | ✔ | |
eth_newFilter | Eth | ✔ | ✔ | |
eth_newBlockFilter | Eth | ✔ | ✔ | |
eth_newPendingTransactionFilter | Eth | ✔ | ✔ | |
eth_uninstallFilter | Eth | ✔ | ✔ | |
eth_getFilterChanges | Eth | ✔ | ✔ | |
eth_getFilterLogs | Eth | ✔ | ✔ | |
eth_getLogs | Eth | ✔ | ✔ | |
eth_getTransactionbyBlockNumberAndIndex | Eth | ✔ | ||
eth_getWork | Eth | N/A | ✔ | Chỉ PoW |
eth_submitWork | Eth | N/A | ✔ | Chỉ PoW |
eth_submitHashrate | Eth | |||
eth_getCompilers | Eth | |||
eth_compileLLL | Eth | |||
eth_compileSolidity | Eth | |||
eth_compileSerpent | Eth | |||
eth_signTransaction | Eth | |||
eth_mining | Eth | ❌ | ||
eth_coinbase | Eth | ✔ | ||
eth_hashrate | Eth | N/A | ❌ | Chỉ dành cho PoW |
eth_getUncleCountByBlockHash | Eth | N/A | Chỉ dành cho PoW | |
eth_getUncleCountByBlockNumber | Eth | N/A | Chỉ dành cho PoW | |
eth_getUncleByBlockHashAndIndex | Eth | N/A | Chỉ dành cho PoW | |
eth_getUncleByBlockNumberAndIndex | Eth | N/A | Chỉ dành cho PoW | |
eth_getProof | Eth | ✔ | ||
eth_subscribe | Websocket | ✔ | ||
eth_unsubscribe | Websocket | ✔ | ||
personal_importRawKey | Cá nhân | ✔ | ❌ | |
personal_listAccounts | Cá nhân | ✔ | ❌ | |
personal_lockAccount | Cá nhân | ✔ | ❌ | |
personal_newAccount | Cá nhân | ✔ | ❌ | |
personal_unlockAccount | Cá nhân | ✔ | ❌ | |
personal_sendTransaction | Cá nhân | ✔ | ❌ | |
personal_sign | Cá nhân | ✔ | ❌ | |
personal_ecRecover | Cá nhân | ✔ | ❌ | |
personal_initializeWallet | Cá nhân | ✔ | ❌ | |
personal_unpair | Cá nhân | ✔ | ❌ | |
db_putString | CSDL | |||
db_getString | CSDL | |||
db_putHex | CSDL | |||
db_getHex | CSDL | |||
shh_post | SSH | |||
shh_version | SSH | |||
shh_newIdentity | SSH | |||
shh_hasIdentity | SSH | |||
shh_newGroup | SSH | |||
shh_addToGroup | SSH | |||
shh_newFilter | SSH | |||
shh_uninstallFilter | SSH | |||
shh_getFilterChanges | SSH | |||
shh_getMessages | SSH | |||
admin_addPeer | Quản trị | ❌ | ||
admin_datadir | Quản trị | ❌ | ||
admin_nodeInfo | Quản trị | ❌ | ||
admin_peers | Quản trị | ❌ | ||
admin_startRPC | Quản trị | ❌ | ||
admin_startWS | Quản trị | ❌ | ||
admin_stopRPC | Quản trị | ❌ | ||
admin_stopWS | Quản trị | ❌ | ||
clique_getSnapshot | Clique | |||
clique_getSnapshotAtHash | Clique | |||
clique_getSigners | Clique | |||
clique_proposals | Clique | |||
clique_propose | Clique | |||
clique_discard | Clique | |||
clique_status | Clique | |||
debug_backtraceAt | Gỡ lỗi | |||
debug_blockProfile | Gỡ lỗi | ✔ | ||
debug_cpuProfile | Gỡ lỗi | ✔ | ||
debug_dumpBlock | Gỡ lỗi | |||
debug_gcStats | Gỡ lỗi | ✔ | ||
debug_getBlockRlp | Gỡ lỗi | |||
debug_goTrace | Gỡ lỗi | ✔ | ||
debug_freeOSMemory | Gỡ lỗi | ✔ | ||
debug_memStats | Gỡ lỗi | ✔ | ||
debug_mutexProfile | Debug | ✔ | ||
debug_seedHash | Debug | |||
debug_setHead | Debug | |||
debug_setBlockProfileRate | Debug | ✔ | ||
debug_setGCPercent | Debug | ✔ | ||
debug_setMutexProfileFraction | Debug | ✔ | ||
debug_stacks | Debug | ✔ | ||
debug_startCPUProfile | Debug | ✔ | ||
debug_startGoTrace | Debug | ✔ | ||
debug_stopCPUProfile | Debug | ✔ | ||
debug_stopGoTrace | Debug | ✔ | ||
debug_traceBlock | Debug | ✔ | ||
debug_traceBlockByNumber | Debug | ✔ | ||
debug_traceBlockByHash | Debug | ✔ | ||
debug_traceBlockFromFile | Debug | |||
debug_standardTraceBlockToFile | Debug | |||
debug_standardTraceBadBlockToFile | Debug | |||
debug_traceTransaction | Debug | ✔ | ||
debug_verbosity | Debug | |||
debug_vmodule | Debug | |||
debug_writeBlockProfile | Debug | ✔ | ||
debug_writeMemProfile | Debug | ✔ | ||
debug_writeMutexProfile | Debug | ✔ | ||
les_serverInfo | Les | |||
les_clientInfo | Les | |||
les_priorityClientInfo | Les | |||
les_addBalance | Les | |||
les_setClientParams | Les | |||
les_setDefaultParams | Les | |||
les_latestCheckpoint | Les | |||
les_getCheckpoint | Les | |||
les_getCheckpointContractAddress | Les | |||
miner_getHashrate | Miner | ✔ | ❌ | No-op |
miner_setExtra | Miner | ✔ | ❌ | No-op |
miner_setGasPrice | Miner | ✔ | ❌ | Cần khởi động lại node |
miner_start | Miner | ✔ | ❌ | No-op |
miner_stop | Miner | ✔ | ❌ | No-op |
miner_setGasLimit | Miner | ✔ | ❌ | No-op |
miner_setEtherbase | Miner | ✔ | ❌ | |
txpool_content | TxPool | ✔ | ||
txpool_inspect | TxPool | ✔ | ||
txpool_status | TxPool | ✔ |
"earliest"
, "latest"
hoặc "pending"
.:::Dưới đây là danh sách các phương thức RPC, các tham số và một ví dụ phản hồi từ các không gian tên.## Phương pháp Web3### web3_clientVersion
Nhận phiên bản của web3 client.#### Thông số (0)#### Ví dụ khách hàng```shell
curl -X POST -H "Content-Type: application/json" http://localhost:8545 --data ''
wscat -c ws://localhost:8546 -x ''
javascript
web3.clientVersion();
### `web3_sha3`Trả về Keccak-256 (không phải là SHA3-256 chuẩn hóa) của dữ liệu đã cho.#### Thông số (1)1: đầu vào `hexutil.Bytes`- Yêu cầu: ✓ Có#### Kết quả
json
#### Ví dụ khách
shell
curl -X POST -H "Content-Type: application/json" http://localhost:8545 --data ''
wscat -c ws://localhost:8546 -x ''
javascript
web3.sha3(input);
## Phương pháp Net### `net_version`Trả về ID mạng hiện tại.
json
// Yêu cầu
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
### `net_peerCount`Trả về số lượng peer hiện đang kết nối với client.
json
// Yêu cầu
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
### `net_listening`Trả về nếu client hiện đang lắng nghe kết nối mạng.
json
// Yêu cầu
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
## Phương pháp Eth### `eth_protocolVersion`Trả về phiên bản giao thức ethereum hiện tại.
json
// Yêu cầu
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
### `eth_syncing`Đối tượng trạng thái đồng bộ có thể cần phải khác nhau tùy thuộc vào các chi tiết của giao thức đồng bộ của Tendermint. Tuy nhiên, kết quả 'đồng bộ' chỉ đơn giản là một boolean, và có thể dễ dàng suy ra từ trạng thái đồng bộ nội bộ của Tendermint.
json
// Yêu cầu
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
### `eth_gasPrice`Trả về giá gas hiện tại bằng tham số mệnh giá mặc định của EVM.
json
// Yêu cầu
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
### `eth_accounts`Trả về một mảng của tất cả các tài khoản eth.
json
// Yêu cầu
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
### `eth_blockNumber`Trả về chiều cao khối hiện tại.
json
// Yêu cầu
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
```### eth_getBalance
Trả về số dư tài khoản cho một địa chỉ tài khoản nhất định và Số khối.#### Tham số- Địa chỉ tài khoản
- Số khối hoặc Mã băm khối (EIP-1898)```json // Yêu cầu curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
```### eth_getStorageAt
Trả về địa chỉ lưu trữ cho một địa chỉ tài khoản nhất định.#### Tham số- Địa chỉ tài khoản
- Số nguyên của vị trí trong kho lưu trữ
- Số khối hoặc Mã băm khối (EIP-1898)```json // Yêu cầu curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
```### eth_getTransactionCount
Trả về tổng số giao dịch cho một địa chỉ tài khoản nhất định và Số khối.#### Tham số- Địa chỉ tài khoản
- Số khối hoặc Mã băm khối (EIP-1898)```json // Yêu cầu curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
### `eth_getBlockTransactionCountByNumber`Trả về tổng số giao dịch cho một số khối nhất định.#### Tham số- Số khối
json
// Yêu cầu
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
}
### `eth_getBlockTransactionCountByHash`Trả về tổng số giao dịch cho một mã băm khối nhất định.#### Tham số- Mã băm khối
json
// Yêu cầu
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
```### eth_getCode
Trả về mã cho một địa chỉ tài khoản nhất định và Số khối.#### Tham số- Địa chỉ tài khoản
- Số khối hoặc Mã băm khối (EIP-1898)```json // Yêu cầu curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
```### eth_sign
Phương pháp sign
tính toán một chữ ký cụ thể của Ethereum với: sign(keccak256("\x19Ethereum Signed Message:\n" + len(message) + message)))
.Bằng cách thêm một tiền tố vào thông điệp làm cho chữ ký đã tính toán dễ nhận dạng dưới dạng chữ ký cụ thể của Ethereum. Điều này ngăn chặn việc lạm dụng khi một DApp độc hại có thể ký dữ liệu tùy ý (ví dụ: giao dịch) và sử dụng chữ ký để giả mạo nạn nhân.:::cảnh báo
Địa chỉ để ký phải được mở khóa.
Dưới đây là danh sách các phương thức RPC, các tham số và ví dụ phản hồi từ các không gian tên.
Phương pháp Web3
web3_clientVersion
Nhận phiên bản web3 client.
Thông số (0)
Ví dụ Khách hàng
curl -X POST -H "Content-Type: application/json" http://localhost:8545 --dữ liệu ''
wscat -c ws://localhost:8546 -x ''
javascript
web3.clientVersion();
web3_sha3
Trả về Keccak-256 (không phải SHA3-256 chuẩn hóa) của dữ liệu đã cho.
Thông số (1)
1: đầu vào hexutil.Bytes
- Yêu cầu: ✓ Có
Kết quả
Ví dụ khách hàng
curl -X POST -H "Content-Type: application/json" http://localhost:8545 --data ''
wscat -c ws://localhost:8546 -x ''
javascript
web3.sha3(input);
Phương thức Net
net_version
Trả về id mạng hiện tại.
// Yêu cầu
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
net_peerCount
Trả về số lượng các peer hiện đang kết nối với client.
// Yêu cầu
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
net_listening
Trả về nếu client đang chủ động lắng nghe các kết nối mạng.
// Yêu cầu
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
Phương thức Eth
eth_protocolVersion
Trả về phiên bản giao thức ethereum hiện tại.
// Yêu cầu
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
eth_syncing
Đối tượng trạng thái đồng bộ có thể cần khác nhau tùy thuộc vào chi tiết của giao thức đồng bộ của Tendermint. Tuy nhiên, kết quả 'đã đồng bộ' chỉ đơn giản là một boolean, và có thể dễ dàng được suy ra từ trạng thái đồng bộ nội bộ của Tendermint.
// Yêu cầu
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
eth_gasPrice
Trả về giá gas hiện tại trong tham số định danh EVM mặc định.
// Yêu cầu
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
eth_accounts
Trả về mảng của tất cả các tài khoản eth.
// Yêu cầu
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
eth_blockNumber
Trả về độ cao khối hiện tại.
// Yêu cầu
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
eth_getBalance
Trả về số dư tài khoản cho một địa chỉ tài khoản và số khối cụ thể.
Tham số
- Địa chỉ tài khoản
- Số khối hoặc Mã băm khối (EIP-1898)
// Yêu cầu
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
eth_getStorageAt
Trả về địa chỉ lưu trữ cho một địa chỉ tài khoản cụ thể.
Tham số
- Địa chỉ tài khoản
- Số nguyên của vị trí trong lưu trữ
- Số khối hoặc Mã băm khối (EIP-1898)
// Yêu cầu
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
eth_getTransactionCount
Trả về tổng số giao dịch cho một địa chỉ tài khoản và số khối cụ thể.
Tham số
- Địa chỉ tài khoản
- Số khối hoặc Mã băm khối (EIP-1898)
// Yêu cầu
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
eth_getBlockTransactionCountByNumber
Trả về tổng số giao dịch cho một số khối cụ thể.
Tham số
- Số khối
// Yêu cầu
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
eth_getBlockTransactionCountByHash
Trả về tổng số giao dịch cho một mã băm khối cụ thể.
Tham số
- Mã băm khối
// Yêu cầu
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
eth_getCode
Trả về mã cho một địa chỉ tài khoản và số khối cụ thể.
Tham số
- Địa chỉ tài khoản
- Số khối hoặc Mã băm khối (EIP-1898)
// Yêu cầu
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
eth_sign
Phương thức sign
tính toán một chữ ký cụ thể của Ethereum với: sign(keccak256("\x19Ethereum Signed Message:\n" + len(message) + message)))
.
Bằng cách thêm một tiền tố vào tin nhắn làm cho chữ ký được tính toán có thể nhận diện là một chữ ký cụ thể của Ethereum. Điều này ngăn chặn việc lạm dụng khi một DApp độc hại có thể ký dữ liệu tùy ý (ví dụ: giao dịch) và sử dụng chữ ký để mạo danh nạn nhân.
:::cảnh báo Địa chỉ cần ký phải được mở khóa. :::
Tham số
- Địa chỉ tài khoản
- Tin nhắn cần ký
// Yêu cầu
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
eth_sendTransaction
Gửi giao dịch từ tài khoản chỉ định đến tài khoản chỉ định.
Tham số
-
Đối tượng chứa:
from
:DATA
, 20 Bytes - Địa chỉ gửi giao dịch.to
:DATA
, 20 Bytes - (tùy chọn khi tạo hợp đồng mới) Địa chỉ được gửi giao dịch đến.gas
: SỐ LƯỢNG - (mặc định: 90000) Số nguyên của gas cung cấp cho việc thực thi giao dịch. Nó sẽ trả về gas không sử dụng.gasPrice
: SỐ LƯỢNG - (tuỳ chọn, mặc định: Đang xác định) Số nguyên của giá gas được sử dụng cho mỗi gas đã thanh toán.value
: SỐ LƯỢNG - giá trị được gửi kèm với giao dịch này.data
:DATA
- Mã đã biên dịch của hợp đồng HOẶC mã băm của chữ ký phương thức được gọi và các tham số được mã hóa. Để biết chi tiết xem ABI Hợp đồng Ethereumnonce
: SỐ LƯỢNG - (tuỳ chọn) Số nguyên của một nonce. Điều này cho phép ghi đè các giao dịch đang chờ xử lý của bạn sử dụng cùng nonce.
// Yêu cầu
curl -X POST --data '],"id":1}' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
eth_sendRawTransaction
Tạo giao dịch gọi tin nhắn mới hoặc tạo hợp đồng cho giao dịch đã ký. Bạn có thể lấy dữ liệu giao dịch đã ký bằng cách sử dụng phương thức personal_sign
.
Tham số
- Dữ liệu giao dịch đã ký
// Yêu cầu
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
eth_call
Thực hiện một cuộc gọi tin nhắn mới ngay lập tức mà không cần tạo một giao dịch trên chuỗi khối.
Tham số
-
Đối tượng chứa:
from
:DATA
, 20 Bytes - (tuỳ chọn) Địa chỉ gửi giao dịch.to
:DATA
, 20 Bytes - Địa chỉ được gửi giao dịch đến.gas
: SỐ LƯỢNG - gas cung cấp cho việc thực thi giao dịch. eth_call không tiêu thụ gas, nhưng tham số này có thể cần cho một số thực thi.gasPrice
: SỐ LƯỢNG - giá gas được sử dụng cho mỗi gas đã thanh toánvalue
: SỐ LƯỢNG - giá trị được gửi kèm với giao dịch nàydata
:DATA
- (tuỳ chọn) Mã băm của chữ ký phương thức và các tham số được mã hóa. Để biết chi tiết xem ABI Hợp đồng Ethereum trong tài liệu Solidity -
Số khối hoặc Mã băm khối (EIP-1898)
// Yêu cầu
curl -X POST --data ', "0x0"],"id":1}' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
eth_estimateGas
Trả về một giá trị ước tính của gas cần thiết để gửi giao dịch.
Tham số
-
Đối tượng chứa:
from
:DATA
, 20 Bytes - Địa chỉ gửi giao dịch.to
:DATA
, 20 Bytes - (tùy chọn khi tạo hợp đồng mới) Địa chỉ được gửi giao dịch đến.value
:SỐ LƯỢNG
- giá trị được gửi kèm với giao dịch này
// Yêu cầu
curl -X POST --data '],"id":1}' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
eth_getBlockByNumber
Trả về thông tin về một khối bằng số khối.
Tham số
- Số khối
- Nếu đúng, nó trả về các đối tượng giao dịch đầy đủ, nếu sai chỉ các mã băm của các giao dịch.
// Yêu cầu
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
eth_getBlockByHash
Trả về thông tin khối dựa trên mã băm trong lệnh trên và một giá trị bool.
Tham số
- Mã băm của một khối.
- Nếu đúng, nó trả về các đối tượng giao dịch đầy đủ, nếu sai chỉ các mã băm của các giao dịch.
// Yêu cầu
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
eth_getTransactionByHash
Trả về chi tiết giao dịch dựa trên mã băm giao dịch ethereum gì đó.
Tham số
- mã băm của một giao dịch
// Yêu cầu
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
eth_getTransactionByBlockHashAndIndex
Trả về chi tiết giao dịch dựa trên mã băm khối và chỉ số giao dịch.
Tham số
- Mã băm của một khối.
- Vị trí chỉ mục giao dịch.
// Yêu cầu
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
eth_getTransactionReceipt
Trả về biên lai của một giao dịch dựa trên mã băm giao dịch.
Lưu ý: Mã tx từ Tendermint và trạng thái biên lai Ethereum bị chuyển đổi:
Tendermint | Ethereum | |
---|---|---|
Thành công | 0 | 1 |
Thất bại | 1 | 0 |
Tham số
- mã băm của một giao dịch
// Yêu cầu
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
,],"logsBloom":"0x00000000100000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000002000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000","status":"0x1","to":"0x439c697e0742a0ddb124a376efd62a72a94ac35a","transactionHash":"0xae64961cb206a9773a6e5efeb337773a6fd0a2085ce480a174135a029afea615","transactionIndex":"0x0"}}
eth_newFilter
Tạo bộ lọc mới bằng cách sử dụng các chủ đề nào đó.
Tham số
- mã băm của một giao dịch
// Yêu cầu
curl -X POST --data '],"id":1}' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
eth_newBlockFilter
Tạo một bộ lọc trong nút, để thông báo khi một khối mới đến.
// Yêu cầu
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
eth_newPendingTransactionFilter
Tạo một bộ lọc trong node, để thông báo khi giao dịch mới đang chờ đến.
// Yêu cầu
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
eth_uninstallFilter
Xóa bộ lọc với id đã cho. Trả về true nếu bộ lọc đã được gỡ cài đặt thành công, nếu không trả về false.
Tham số
- Id của bộ lọc
// Yêu cầu
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
eth_getFilterChanges
Phương pháp truy vấn cho một bộ lọc, trả về một mảng các nhật ký phát sinh kể từ lần truy vấn cuối.
Tham số
- Id của bộ lọc
// Yêu cầu
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
eth_getFilterLogs
Trả về một mảng của tất cả các nhật ký khớp với bộ lọc có id đã cho.
Tham số
QUANTITY
- Id của bộ lọc
// Yêu cầu
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
}
eth_getLogs
Trả về một mảng của tất cả các nhật ký khớp với đối tượng bộ lọc đã cho.
Tham số
-
Đối tượng chứa:
fromBlock
:QUANTITY|TAG
- (tùy chọn, mặc định:"latest"
) Số khối nguyên, hoặc"latest"
cho khối cuối hoặc"pending"
,"earliest"
cho giao dịch chưa khai thác.toBlock
:QUANTITY|TAG
- (tùy chọn, mặc định:"latest"
) Số khối nguyên, hoặc"latest"
cho khối cuối hoặc"pending"
,"earliest"
cho giao dịch chưa khai thác.address
:DATA|Array
, 20 Bytes - (tùy chọn) Địa chỉ hợp đồng hoặc một danh sách địa chỉ mà từ đó nhật ký phải xuất xứ.topics
: Mảng củaDATA
, - (tùy chọn) Mảng củaDATA
32 Bytes các chủ đề. Chủ đề có thứ tự phụ thuộc. Mỗi chủ đề cũng có thể là một mảng củaDATA
với các tùy chọn "hoặc".blockhash
: (tùy chọn, tương lai) Với thêm của EIP-234,blockHash
sẽ là một tùy chọn bộ lọc mới hạn chế các nhật ký trả về cho khối duy nhất với hàm băm 32-byteblockHash
. Sử dụngblockHash
tương đương vớifromBlock
=toBlock
= số lượng khối với hàm bămblockHash
. NếublockHash
có trong tiêu chí bộ lọc, thì không được phépfromBlock
cũng không đượctoBlock
.
// Yêu cầu
curl -X POST --data '],"id":1}' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
eth_coinbase
Trả về tài khoản mà phần thưởng khai thác sẽ được gửi tới.
// Yêu cầu
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
eth_getProof
Trả về các giá trị tài khoản - và lưu trữ của tài khoản được chỉ định bao gồm bằng chứng Merkle.
Tham số
- Địa chỉ tài khoản hoặc hợp đồng
- Số nguyên của vị trí trong lưu trữ
- Số khối hoặc Khối lượng Băm (EIP-1898)
// Yêu cầu
curl -X POST --data '' -H "Content-type:application/json" http://localhost:8545
// Kết quả
, ]}}
Các phương pháp WebSocket
Đọc về các websocket trong Sự kiện Tendermint
eth_subscribe
đăng ký sử dụng thông báo JSON-RPC. Điều này cho phép khách hàng chờ sự kiện thay vì truy vấn chúng.
Nó hoạt động bằng cách đăng ký các sự kiện cụ thể. Node sẽ trả lại một id đăng ký. Đối với mỗi sự kiện phù hợp với đăng ký, một thông báo với dữ liệu liên quan sẽ được gửi cùng với id đăng ký.
Tham số
- Tên đăng ký
- Lập luận tùy chọn
// Yêu cầu
]}
// Kết quả
<
eth_unsubscribe
Hủy đăng ký từ một sự kiện bằng cách sử dụng id đăng ký
Tham số
- ID đăng ký
// Yêu cầu
// Kết quả
Các phương pháp Cá nhân
personal_importRawKey
:::Nhập khóa riêng không mã hóa đã cho (chuỗi mã hóa hex) vào kho khóa, mã hóa nó bằng mật khẩu.Trả về địa chỉ của tài khoản mới.#### Tham số (2)1: privkey string
- Yêu cầu: ✓ Có2: password string
- Yêu cầu: ✓ Có```json
// Yêu cầu
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
```### personal_listAccounts
:::tip Riêng tư: Yêu cầu xác thực.
Nhập khóa riêng không mã hóa đã cho (chuỗi mã hóa hex) vào kho khóa, mã hóa nó bằng mật khẩu.
Trả về địa chỉ của tài khoản mới.
Tham số (2)
1: privkey string
- Yêu cầu: ✓ Có
2: password string
- Yêu cầu: ✓ Có
// Yêu cầu
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
personal_listAccounts
Trả về danh sách địa chỉ cho các tài khoản mà node này quản lý.
// Yêu cầu
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
personal_lockAccount
:::Xóa khóa riêng với địa chỉ đã cho khỏi bộ nhớ. Tài khoản không còn có thể được sử dụng để gửi giao dịch.#### Tham số- Địa chỉ tài khoản```json // Yêu cầu curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
```### personal_newAccount
:::tip Riêng tư: Yêu cầu xác thực.
Xóa khóa riêng với địa chỉ đã cho khỏi bộ nhớ. Tài khoản không còn có thể sử dụng để gửi giao dịch.
Tham số
- Địa chỉ Tài khoản
// Yêu cầu
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
personal_newAccount
Tạo khóa riêng mới và lưu trữ nó vào thư mục kho khóa. Tập tin khóa sẽ được mã hóa bằng mật khẩu đã cho. Trả về địa chỉ của tài khoản mới.
Tham số
- Mật khẩu
// Yêu cầu
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
personal_unlockAccount
:::Giải mã khóa với địa chỉ đã cho từ kho khóa.Cả mật khẩu và thời gian mở khóa đều là tùy chọn khi sử dụng phần mềm Javascript console. Khóa không mã hóa sẽ được giữ trong bộ nhớ cho đến khi thời gian mở khóa hết hạn. Nếu thời gian mở khóa mặc định là 300 giây. Một khoảng thời gian rõ ràng của 0 giây mở khóa cho đến khi geth thoát.Tài khoản có thể được sử dụng với eth_sign
và eth_sendTransaction
trong khi nó được mở khóa.#### Tham số- Địa chỉ tài khoản
- Mật khẩu
- Thời gian```json // Yêu cầu curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
```### personal_sendTransaction
:::tip Riêng tư: Yêu cầu xác thực.
Giải mã khóa với địa chỉ đã cho từ kho khóa.
Cả mật khẩu và thời gian mở khóa đều là tùy chọn khi sử dụng phần mềm Javascript console. Khóa không mã hóa sẽ được giữ trong bộ nhớ cho đến khi thời gian mở khóa hết hạn. Nếu thời gian mở khóa mặc định là 300 giây. Một khoảng thời gian rõ ràng của 0 giây mở khóa cho đến khi geth thoát.
Tài khoản có thể được sử dụng với eth_sign
và eth_sendTransaction
trong khi nó được mở khóa.
Tham số
- Địa chỉ Tài khoản
- Mật khẩu
- Thời gian
// Yêu cầu
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
personal_sendTransaction
Xác thực mật khẩu đã cho và gửi giao dịch.
Giao dịch là đối số tương tự như cho eth_sendTransaction
và chứa địa chỉ from
. Nếu mật khẩu có thể được sử dụng để giải mã khóa riêng thuộc về tx.from
giao dịch được xác minh, ký và gửi lên mạng.
Tài khoản không được mở khóa toàn cầu trong node và không thể được dùng trong các cuộc gọi RPC khác.
Tham số
-
Đối tượng chứa:
from
:DATA
, 20 Bytes - Địa chỉ giao dịch được gửi từ.to
:DATA
, 20 Bytes - (tùy chọn khi tạo hợp đồng mới) Địa chỉ giao dịch được gửi tới.value
: SỐ LƯỢNG - giá trị được gửi với giao dịch này -
Mật khẩu
// Yêu cầu
curl -X POST --data ', "passphrase"],"id":1}' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
personal_sign
:::Phương pháp ký tính toán chữ ký cụ thể của Ethereum với: sign(keccack256("\x19Ethereum Signed Message:\n" + len(message) + message)))
,#### Tham số- Thông điệp
- Địa chỉ tài khoản
- Mật khẩu```json // Yêu cầu curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
```### personal_ecRecover
:::tip Riêng tư: Yêu cầu xác thực.
Phương pháp ký tính toán chữ ký cụ thể của Ethereum với: sign(keccack256("\x19Ethereum Signed Message:\n" + len(message) + message)))
,
Tham số
- Thông điệp
- Địa chỉ tài khoản
- Mật khẩu
// Yêu cầu
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
personal_ecRecover
ecRecover
trả về địa chỉ liên kết với khóa riêng đã được sử dụng để tính toán chữ ký trong personal_sign
.
Tham số
- Thông điệp
- Chữ ký trả về từ
personal_sign
// Yêu cầu
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
personal_initializeWallet
:::Khởi tạo ví mới tại URL được cung cấp, bằng cách tạo và trả về khóa riêng mới.#### Tham số (1)Tham số phải được cung cấp theo vị trí.1: url string
- Yêu cầu: ✓ Có#### Ví dụ của Khách hàng```shell
curl -X POST -H "Content-Type: application/json" http://localhost:8545 --data ''
wscat -c ws://localhost:8546 -x ''
javascript
personal.initializeWallet(url);
```### personal_unpair
:::tip Riêng tư: Yêu cầu xác thực.
Khởi tạo ví mới tại URL được cung cấp, bằng cách tạo và trả về khóa riêng mới.
Tham số (1)
Tham số phải được cung cấp theo vị trí.
1: url string
- Yêu cầu: ✓ Có
Ví dụ của Khách hàng
curl -X POST -H "Content-Type: application/json" http://localhost:8545 --data ''
wscat -c ws://localhost:8546 -x ''
javascript
personal.initializeWallet(url);
personal_unpair
Hủy ghép xóa một ghép nối giữa ví và node.
Tham số (2)
- URL
- Mật khẩu ghép nối
Ví dụ của Khách hàng
curl -X POST -H "Content-Type: application/json" http://localhost:8545 --data ''
wscat -c ws://localhost:8546 -x ''
javascript
personal.unpair(url,pin);
Các phương pháp Debug
debug_traceTransaction
Phương pháp debug traceTransaction
sẽ thử thực thi giao dịch theo cách chính xác như nó đã được thực hiện trên mạng. Nó sẽ phát lại bất kỳ giao dịch nào có thể đã được thực thi trước khi cuối cùng thử thực hiện giao dịch tương ứng với hàm băm đã cho.
Tham số
- Cấu hình theo vết
// Yêu cầu
curl -X POST --data ', step: function(log) , result: function() }"}],"id":1}' -H "Content-Type: application/json" http://localhost:8545
//Kết quả
["68410", "51470"]
debug_traceBlockByNumber
Endpoint traceBlockByNumber
chấp nhận một số khối và sẽ phát lại khối đã hiện có trong cơ sở dữ liệu.
Tham số
- Cấu hình Theo dõi
// Yêu cầu
curl -X POST --data ', step: function(log) , result: function() }"}],"id":1}' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
]}
Phương thức Thợ mỏ
miner_getHashrate
:::Lấy tốc độ băm tại H/s (các hoạt động băm mỗi giây).:::cảnh báo
Chỉ dành cho Proof-of-Work. Điểm cuối này luôn trả về 0
.
Lấy tốc độ băm tại H/s (các hoạt động băm mỗi giây).
:::cảnh báo
Chỉ dành cho Proof-of-Work. Điểm cuối này luôn trả về 0
.
:::
// Yêu cầu
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
miner_setExtra
:::Thiết lập dữ liệu bổ sung mà một người xác thực có thể đưa vào khi đề xuất các khối. Điều này bị giới hạn ở 32 byte.:::cảnh báo Không được hỗ trợ. Điểm cuối này luôn trả về lỗi
Thiết lập dữ liệu bổ sung mà một người xác thực có thể đưa vào khi đề xuất các khối. Điều này bị giới hạn ở 32 byte.
:::cảnh báo Không được hỗ trợ. Điểm cuối này luôn trả về lỗi :::
Tham số
- Dữ liệu
// Yêu cầu
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
miner_setGasPrice
:::Thiết lập giá gas tối thiểu dùng để chấp nhận giao dịch. Bất kỳ giao dịch nào dưới mức này đều bị loại khỏi quá trình đề xuất khối của người xác thực.Phương thức này yêu cầu khởi động lại node
sau khi gọi vì nó thay đổi tệp cấu hình.Hãy đảm bảo rằng lệnh gọi crossfid start
của bạn không sử dụng cờ minimum-gas-prices
vì giá trị này sẽ được sử dụng thay cho cái đã đặt trong tệp cấu hình.#### Tham số- Giá Gas Hex```json
// Yêu cầu
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
```### miner_start
:::tip Riêng tư: Yêu cầu xác thực.
Thiết lập giá gas tối thiểu dùng để chấp nhận giao dịch. Bất kỳ giao dịch nào dưới mức này đều bị loại khỏi quá trình đề xuất khối của người xác thực.
Phương thức này yêu cầu khởi động lại node
sau khi gọi vì nó thay đổi tệp cấu hình.
Hãy đảm bảo rằng lệnh gọi crossfid start
của bạn không sử dụng cờ minimum-gas-prices
vì giá trị này sẽ được sử dụng thay cho cái đã đặt trong tệp cấu hình.
Tham số
- Giá Gas Hex
// Yêu cầu
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
miner_start
Bắt đầu quá trình xác thực CPU với số luồng được chỉ định.
Không được hỗ trợ. Điểm cuối này luôn trả về lỗi
Tham số
- Số luồng Hex
// Yêu cầu
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
miner_stop
:::Dừng hoạt động xác thực.:::cảnh báo Không được hỗ trợ. Điểm cuối này luôn thực hiện một bước không có.
:::
Dừng hoạt động xác thực.
:::cảnh báo Không được hỗ trợ. Điểm cuối này luôn thực hiện một bước không có. :::
// Yêu cầu
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
miner_setGasLimit
:::Thiết lập giới hạn gas mà thợ mỏ sẽ nhắm đến khi khai thác. Lưu ý: trên các mạng mà EIP-1559 được kích hoạt, điều này phải được thiết lập gấp đôi những gì bạn muốn giới hạn mục tiêu gas (tức là gas thực tế được sử dụng trung bình mỗi khối).:::cảnh báo
Không được hỗ trợ. Điểm cuối này luôn trả về false
Thiết lập giới hạn gas mà thợ mỏ sẽ nhắm đến khi khai thác. Lưu ý: trên các mạng mà EIP-1559 được kích hoạt, điều này phải được thiết lập gấp đôi những gì bạn muốn giới hạn mục tiêu gas (tức là gas thực tế được sử dụng trung bình mỗi khối).
:::cảnh báo
Không được hỗ trợ. Điểm cuối này luôn trả về false
:::
Tham số
- Giới hạn gas Hex
// Yêu cầu
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
miner_setEtherbase
Thiết lập etherbase. Nó sẽ thay đổi ví nơi phần thưởng xác thực được gửi đến.
Tham số
- Địa chỉ Tài khoản
// Yêu cầu
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
// Kết quả
Phương thức TxPool
txpool_content
Trả về danh sách chi tiết chính xác của tất cả các giao dịch hiện đang chờ được đưa vào các khối tiếp theo cũng như các giao dịch đang được lập lịch để thực hiện trong tương lai.
Tham số (0)
Ví dụ về Máy khách
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
wscat -c ws://localhost:8546 -x ''
javascript
txpool.content();
Kết quả
json
,"queued":{}}
txpool_inspect
Trả về danh sách dưới định dạng văn bản để tóm tắt tất cả các giao dịch hiện đang chờ được đưa vào các khối tiếp theo cũng như các giao dịch đang được lập lịch để thực hiện trong tương lai. Đây là một phương thức đặc biệt hướng tới các nhà phát triển để nhanh chóng xem các giao dịch trong bể và tìm ra các vấn đề tiềm năng.
Tham số (0)
Ví dụ về Máy khách
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
wscat -c ws://localhost:8546 -x ''
javascript
txpool.inspect();
Kết quả
json
,"queued":{}}
txpool_status
Trả về số lượng giao dịch hiện đang chờ được đưa vào các khối tiếp theo cũng như các giao dịch đang được lập lịch để thực hiện trong tương lai.
Tham số (0)
Ví dụ về Máy khách
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545
wscat -c ws://localhost:8546 -x ''
txpool.status();
Kết quả
json
}