Skip to main content

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ứcKhông gian tênĐã thực hiệnCông khaiGhi chú
web3_clientVersionWeb3✔✔
web3_sha3Web3✔✔
net_versionNet✔✔
net_peerCountNet✔✔
net_listeningNet✔✔
eth_protocolVersionEth✔✔
eth_syncingEth✔✔
eth_gasPriceEth✔✔
eth_accountsEth✔✔
eth_blockNumberEth✔✔
eth_getBalanceEth✔✔
eth_getStorageAtEth✔✔
eth_getTransactionCountEth✔✔
eth_getBlockTransactionCountByNumberEth✔✔
eth_getBlockTransactionCountByHashEth✔✔
eth_getCodeEth✔✔
eth_signEth✔✔
eth_sendTransactionEth✔✔
eth_sendRawTransactionEth✔✔
eth_callEth✔✔
eth_estimateGasEth✔✔
eth_getBlockByNumberEth✔✔
eth_getBlockByHashEth✔✔
eth_getTransactionByHashEth✔✔
eth_getTransactionByBlockHashAndIndexEth✔✔
eth_getTransactionReceiptEth✔✔
eth_newFilterEth✔✔
eth_newBlockFilterEth✔✔
eth_newPendingTransactionFilterEth✔✔
eth_uninstallFilterEth✔✔
eth_getFilterChangesEth✔✔
eth_getFilterLogsEth✔✔
eth_getLogsEth✔✔
eth_getTransactionbyBlockNumberAndIndexEth✔
eth_getWorkEthN/A✔Chỉ PoW
eth_submitWorkEthN/A✔Chỉ PoW
eth_submitHashrateEth
eth_getCompilersEth
eth_compileLLLEth
eth_compileSolidityEth
eth_compileSerpentEth
eth_signTransactionEth
eth_miningEth❌
eth_coinbaseEth✔
eth_hashrateEthN/A❌Chỉ dành cho PoW
eth_getUncleCountByBlockHashEthN/AChỉ dành cho PoW
eth_getUncleCountByBlockNumberEthN/AChỉ dành cho PoW
eth_getUncleByBlockHashAndIndexEthN/AChỉ dành cho PoW
eth_getUncleByBlockNumberAndIndexEthN/AChỉ dành cho PoW
eth_getProofEth✔
eth_subscribeWebsocket✔
eth_unsubscribeWebsocket✔
personal_importRawKeyCá nhân✔❌
personal_listAccountsCá nhân✔❌
personal_lockAccountCá nhân✔❌
personal_newAccountCá nhân✔❌
personal_unlockAccountCá nhân✔❌
personal_sendTransactionCá nhân✔❌
personal_signCá nhân✔❌
personal_ecRecoverCá nhân✔❌
personal_initializeWalletCá nhân✔❌
personal_unpairCá nhân✔❌
db_putStringCSDL
db_getStringCSDL
db_putHexCSDL
db_getHexCSDL
shh_postSSH
shh_versionSSH
shh_newIdentitySSH
shh_hasIdentitySSH
shh_newGroupSSH
shh_addToGroupSSH
shh_newFilterSSH
shh_uninstallFilterSSH
shh_getFilterChangesSSH
shh_getMessagesSSH
admin_addPeerQuản trị❌
admin_datadirQuản trị❌
admin_nodeInfoQuản trị❌
admin_peersQuản trị❌
admin_startRPCQuản trị❌
admin_startWSQuản trị❌
admin_stopRPCQuản trị❌
admin_stopWSQuản trị❌
clique_getSnapshotClique
clique_getSnapshotAtHashClique
clique_getSignersClique
clique_proposalsClique
clique_proposeClique
clique_discardClique
clique_statusClique
debug_backtraceAtGỡ lỗi
debug_blockProfileGỡ lỗi✔
debug_cpuProfileGỡ lỗi✔
debug_dumpBlockGỡ lỗi
debug_gcStatsGỡ lỗi✔
debug_getBlockRlpGỡ lỗi
debug_goTraceGỡ lỗi✔
debug_freeOSMemoryGỡ lỗi✔
debug_memStatsGỡ lỗi✔
debug_mutexProfileDebug✔
debug_seedHashDebug
debug_setHeadDebug
debug_setBlockProfileRateDebug✔
debug_setGCPercentDebug✔
debug_setMutexProfileFractionDebug✔
debug_stacksDebug✔
debug_startCPUProfileDebug✔
debug_startGoTraceDebug✔
debug_stopCPUProfileDebug✔
debug_stopGoTraceDebug✔
debug_traceBlockDebug✔
debug_traceBlockByNumberDebug✔
debug_traceBlockByHashDebug✔
debug_traceBlockFromFileDebug
debug_standardTraceBlockToFileDebug
debug_standardTraceBadBlockToFileDebug
debug_traceTransactionDebug✔
debug_verbosityDebug
debug_vmoduleDebug
debug_writeBlockProfileDebug✔
debug_writeMemProfileDebug✔
debug_writeMutexProfileDebug✔
les_serverInfoLes
les_clientInfoLes
les_priorityClientInfoLes
les_addBalanceLes
les_setClientParamsLes
les_setDefaultParamsLes
les_latestCheckpointLes
les_getCheckpointLes
les_getCheckpointContractAddressLes
miner_getHashrateMiner✔❌No-op
miner_setExtraMiner✔❌No-op
miner_setGasPriceMiner✔❌Cần khởi động lại node
miner_startMiner✔❌No-op
miner_stopMiner✔❌No-op
miner_setGasLimitMiner✔❌No-op
miner_setEtherbaseMiner✔❌
txpool_contentTxPool✔
txpool_inspectTxPool✔
txpool_statusTxPool✔
Số khối có thể được nhập dưới dạng chuỗi Hex, "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_clientVersionNhậ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áchshell 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_getBalanceTrả 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_getStorageAtTrả 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_getTransactionCountTrả 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ốijson // 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ốijson // Yêu cầu curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Kết quả

```### eth_getCodeTrả 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_signPhươ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 Ethereum

    nonce: 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án

    value: SỐ LƯỢNG - giá trị được gửi kèm với giao dịch này

    data: 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:

TendermintEthereum
Thành công01
Thất bại10

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ủa DATA, - (tùy chọn) Mảng của DATA 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ủa DATA 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-byte blockHash. Sử dụng blockHash tương đương với fromBlock = toBlock = số lượng khối với hàm băm blockHash. Nếu blockHash có trong tiêu chí bộ lọc, thì không được phép fromBlock cũng không được toBlock.

// 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​

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ó```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​

Riêng tư: Yêu cầu xác thực.

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​

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ể đượ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​

Riêng tư: Yêu cầu xác thực.

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​

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```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​

Riêng tư: Yêu cầu xác thực.

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.

cảnh báo

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​

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```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​

Riêng tư: Yêu cầu xác thực.

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ố​

// Yêu cầu
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Kết quả

personal_initializeWallet​

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```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​

Riêng tư: Yêu cầu xác thực.

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​

Riêng tư: Yêu cầu xác thực.

:::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​

Riêng tư: Yêu cầu xác thực.

:::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​

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```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​

Riêng tư: Yêu cầu xác thực.

Bắt đầu quá trình xác thực CPU với số luồng được chỉ định.

cảnh báo

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​

Riêng tư: Yêu cầu xác thự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ó.

:::

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​

Riêng tư: Yêu cầu xác thực.

:::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​

Riêng tư: Yêu cầu xác thực.

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
}