Pular para o conteúdo principal

EVM

Encontre abaixo uma lista de métodos JSON-RPC suportados no CrossFi, ordenados por namespaces.

Exemplos de Curl Explicados​

As opções curl abaixo podem retornar uma resposta onde o nó reclama sobre o tipo de conteúdo. Isso ocorre porque a opção --data define o tipo de conteúdo como application/x-www-form-urlencoded. Se o seu nó reclamar, defina manualmente o cabeçalho colocando -H \"Content-Type: application/json\" no início da chamada.

Os exemplos também não incluem a combinação de URL/IP & porta que deve ser o último argumento dado ao curl, por exemplo, 127.0.0.1:8545

Endpoints​

MétodoNamespaceImplementadoPúblicoNotas
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✔Apenas PoW
eth_submitWorkEthN/A✔Apenas PoW
eth_submitHashrateEth
eth_getCompilersEth
eth_compileLLLEth
eth_compileSolidityEth
eth_compileSerpentEth
eth_signTransactionEth
eth_miningEth❌
eth_coinbaseEth✔
eth_hashrateEthN/A❌Somente PoW
eth_getUncleCountByBlockHashEthN/ASomente PoW
eth_getUncleCountByBlockNumberEthN/ASomente PoW
eth_getUncleByBlockHashAndIndexEthN/ASomente PoW
eth_getUncleByBlockNumberAndIndexEthN/ASomente PoW
eth_getProofEth✔
eth_subscribeWebsocket✔
eth_unsubscribeWebsocket✔
personal_importRawKeyPessoal✔❌
personal_listAccountsPessoal✔❌
personal_lockAccountPessoal✔❌
personal_newAccountPessoal✔❌
personal_unlockAccountPessoal✔❌
personal_sendTransactionPessoal✔❌
personal_signPessoal✔❌
personal_ecRecoverPessoal✔❌
personal_initializeWalletPessoal✔❌
personal_unpairPessoal✔❌
db_putStringDB
db_getStringDB
db_putHexDB
db_getHexDB
shh_postSSH
shh_versionSSH
shh_newIdentitySSH
shh_hasIdentitySSH
shh_newGroupSSH
shh_addToGroupSSH
shh_newFilterSSH
shh_uninstallFilterSSH
shh_getFilterChangesSSH
shh_getMessagesSSH
admin_addPeerAdmin❌
admin_datadirAdmin❌
admin_nodeInfoAdmin❌
admin_peersAdmin❌
admin_startRPCAdmin❌
admin_startWSAdmin❌
admin_stopRPCAdmin❌
admin_stopWSAdmin❌
clique_getSnapshotClique
clique_getSnapshotAtHashClique
clique_getSignersClique
clique_proposalsClique
clique_proposeClique
clique_discardClique
clique_statusClique
debug_backtraceAtDepurar
debug_blockProfileDepurar✔
debug_cpuProfileDepurar✔
debug_dumpBlockDepurar
debug_gcStatsDepurar✔
debug_getBlockRlpDepurar
debug_goTraceDepurar✔
debug_freeOSMemoryDepurar✔
debug_memStatsDepurar✔
debug_mutexProfileDepurar✔
debug_seedHashDepurar
debug_setHeadDepurar
debug_setBlockProfileRateDepurar✔
debug_setGCPercentDepurar✔
debug_setMutexProfileFractionDepurar✔
debug_stacksDepurar✔
debug_startCPUProfileDepurar✔
debug_startGoTraceDepurar✔
debug_stopCPUProfileDepurar✔
debug_stopGoTraceDepurar✔
debug_traceBlockDepurar✔
debug_traceBlockByNumberDepurar✔
debug_traceBlockByHashDepurar✔
debug_traceBlockFromFileDepurar
debug_standardTraceBlockToFileDepurar
debug_standardTraceBadBlockToFileDepurar
debug_traceTransactionDepurar✔
debug_verbosityDepurar
debug_vmoduleDepurar
debug_writeBlockProfileDepurar✔
debug_writeMemProfileDepurar✔
debug_writeMutexProfileDepurar✔
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✔❌Requer reinício do nó
miner_startMiner✔❌No-op
miner_stopMiner✔❌No-op
miner_setGasLimitMiner✔❌No-op
miner_setEtherbaseMiner✔❌
txpool_contentTxPool✔
txpool_inspectTxPool✔
txpool_statusTxPool✔
Número do Bloco pode ser inserido como uma string Hex, "earliest", "latest" ou "pending".

:::Abaixo está uma lista dos métodos RPC, os parâmetros e um exemplo de resposta dos namespaces.## Métodos Web3### web3_clientVersionObtenha a versão cliente web3.#### Parâmetros (0)#### Exemplos de Cliente```shell curl -X POST -H "Content-Type: application/json" http://localhost:8545 --data ''

wscat -c ws://localhost:8546 -x ''

javascript web3.clientVersion(); ### `web3_sha3`Retorna Keccak-256 (não o padronizado SHA3-256) dos dados fornecidos.#### Parâmetros (1)1: entrada `hexutil.Bytes`- Necessário: ✓ Sim#### Resultadojson

#### Exemplos de Clienteshell curl -X POST -H "Content-Type: application/json" http://localhost:8545 --data ''

wscat -c ws://localhost:8546 -x ''

javascript web3.sha3(input); ## Métodos Net### `net_version`Retorna o id de rede atual.json // Solicitação curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

### `net_peerCount`Retorna o número de peers atualmente conectados ao cliente.json // Solicitação curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

### `net_listening`Retorna se o cliente está ativamente ouvindo conexões de rede.json // Solicitação curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

## Métodos Eth### `eth_protocolVersion`Retorna a versão atual do protocolo ethereum.json // Solicitação curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

### `eth_syncing`O objeto de status de sincronização pode precisar ser diferente dependendo dos detalhes do protocolo de sincronização do Tendermint. No entanto, o resultado 'sincronizado' é simplesmente um booleano e pode ser facilmente derivado do estado de sincronização interno do Tendermint.json // Solicitação curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

### `eth_gasPrice`Retorna o preço do gas atual na denominação padrão do EVM.json // Solicitação curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

### `eth_accounts`Retorna uma array de todas as contas eth.json // Solicitação curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

### `eth_blockNumber`Retorna a altura do bloco atual.json // Solicitação curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

```### eth_getBalanceRetorna o saldo da conta para um endereço de conta dado e Número do Bloco.#### Parâmetros- Endereço da Conta

  • Número do Bloco ou Hash do Bloco (EIP-1898)```json // Solicitação curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

```### eth_getStorageAtRetorna o endereço de armazenamento para um endereço de conta dado.#### Parâmetros- Endereço da Conta

  • Inteiro da posição no armazenamento
  • Número do Bloco ou Hash do Bloco (EIP-1898)```json // Solicitação curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

```### eth_getTransactionCountRetorna a transação total para um endereço de conta dado e Número do Bloco.#### Parâmetros- Endereço da Conta

  • Número do Bloco ou Hash do Bloco (EIP-1898)```json // Solicitação curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

### `eth_getBlockTransactionCountByNumber`Retorna a contagem total de transações para um número de bloco dado.#### Parâmetros- Número do Blocojson // Solicitação curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado } ### `eth_getBlockTransactionCountByHash`Retorna a contagem total de transações para um hash de bloco dado.#### Parâmetros- Hash do Blocojson // Solicitação curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

```### eth_getCodeRetorna o código para um endereço de conta dado e Número do Bloco.#### Parâmetros- Endereço da Conta

  • Número do Bloco ou Hash do Bloco (EIP-1898)```json // Solicitação curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

```### eth_signO método sign calcula uma assinatura específica da Ethereum com: sign(keccak256("\x19Ethereum Signed Message:\n" + len(mensagem) + mensagem))).Adicionando um prefixo à mensagem torna a assinatura calculada reconhecível como uma assinatura específica da Ethereum. Isso previne o uso indevido onde um DApp malicioso pode assinar dados arbitrários (e.g. transação) e usar a assinatura para se passar pela vítima.

Abaixo está uma lista dos métodos RPC, os parâmetros e um exemplo de resposta dos namespaces.

Métodos Web3​

web3_clientVersion​

Obtenha a versão cliente web3.

Parâmetros (0)​

Exemplos de Cliente​

curl -X POST -H "Content-Type: application/json" http://localhost:8545 --data ''

wscat -c ws://localhost:8546 -x ''
javascript
web3.clientVersion();

web3_sha3​

Retorna Keccak-256 (não o padronizado SHA3-256) dos dados fornecidos.

Parâmetros (1)​

1: entrada hexutil.Bytes

  • Necessário: ✓ Sim

Resultado​

Exemplos de Cliente​

curl -X POST -H "Content-Type: application/json" http://localhost:8545 --data ''

wscat -c ws://localhost:8546 -x ''
javascript
web3.sha3(input);

Métodos de Rede​

net_version​

Retorna o ID da rede atual.

// Solicitação
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

net_peerCount​

Retorna o número de pares atualmente conectados ao cliente.

// Solicitação
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

net_listening​

Retorna se o cliente está ativamente ouvindo por conexões de rede.

// Solicitação
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

Métodos Eth​

eth_protocolVersion​

Retorna a versão do protocolo Ethereum atual.

// Solicitação
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

eth_syncing​

O objeto de status de sincronização pode precisar ser diferente dependendo dos detalhes do protocolo de sincronização do Tendermint. Contudo, o resultado 'sincronizado' é simplesmente um booleano e pode ser derivado facilmente do estado de sincronização interna do Tendermint.

// Solicitação
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

eth_gasPrice​

Retorna o preço atual do gás na denominação padrão do EVM.

// Solicitação
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

eth_accounts​

Retorna uma matriz de todas as contas eth.

// Solicitação
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

eth_blockNumber​

Retorna a altura atual do bloco.

// Solicitação
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

eth_getBalance​

Retorna o saldo da conta para um determinado endereço de conta e número de bloco.

Parâmetros​

  • Endereço da Conta
  • Número do Bloco ou Hash do Bloco (EIP-1898)
// Solicitação
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

eth_getStorageAt​

Retorna o endereço de armazenamento para um determinado endereço de conta.

Parâmetros​

  • Endereço da Conta
  • Integer da posição no armazenamento
  • Número do Bloco ou Hash do Bloco (EIP-1898)
// Solicitação
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

eth_getTransactionCount​

Retorna o total de transações para um determinado endereço de conta e número de bloco.

Parâmetros​

  • Endereço da Conta
  • Número do Bloco ou Hash do Bloco (EIP-1898)
// Solicitação
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

eth_getBlockTransactionCountByNumber​

Retorna o total de transações para um determinado número de bloco.

Parâmetros​

  • Número do bloco
// Solicitação
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

eth_getBlockTransactionCountByHash​

Retorna o total de transações para um determinado hash de bloco.

Parâmetros​

  • Hash do Bloco
// Solicitação
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

eth_getCode​

Retorna o código para um dado endereço de conta e número de bloco.

Parâmetros​

  • Endereço da Conta
  • Número do Bloco ou Hash do Bloco (EIP-1898)
// Solicitação
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

eth_sign​

O método sign calcula uma assinatura específica do Ethereum com: sign(keccak256("\x19Ethereum Signed Message:\n" + len(message) + message))).

Ao adicionar um prefixo à mensagem, a assinatura calculada torna-se reconhecível como uma assinatura específica do Ethereum. Isso evita o mau uso, onde um DApp mal-intencionado pode assinar dados arbitrários (por exemplo, transação) e usar a assinatura para se passar pela vítima.

O endereço para assinar deve estar desbloqueado.

Parâmetros​

  • Endereço da Conta
  • Mensagem para assinar
// Solicitação
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

eth_sendTransaction​

Envia transação de uma conta fornecida para uma conta fornecida.

Parâmetros​

  • Objeto contendo:

    from: DATA, 20 Bytes - O endereço do qual a transação é enviada.

    to: DATA, 20 Bytes - (opcional ao criar novo contrato) O endereço ao qual a transação é direcionada.

    gas: QUANTIDADE - (opcional, padrão: 90000) Integer do gás fornecido para a execução da transação. Será retornado o gás não usado.

    gasPrice: QUANTIDADE - (opcional, padrão: A Ser Determinado) Integer do preço do gás usado para cada gás pago

    value: QUANTIDADE - valor enviado com esta transação

    data: DATA - O código compilado de um contrato OU o hash da assinatura do método invocado e parâmetros codificados. Para detalhes veja Ethereum Contract ABI

    nonce: QUANTIDADE - (opcional) Integer de um nonce. Isso permite sobrescrever suas próprias transações pendentes que usam o mesmo nonce.

// Solicitação
curl -X POST --data '],"id":1}' -H "Content-Type: application/json" http://localhost:8545

// Resultado

eth_sendRawTransaction​

Cria uma nova transação de chamada de mensagem ou uma criação de contrato para transações assinadas. Você pode obter dados de transação assinados usando o método personal_sign.

Parâmetros​

  • Os dados da transação assinada
// Solicitação
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

eth_call​

Executa uma nova chamada de mensagem imediatamente sem criar uma transação no blockchain.

Parâmetros​

  • Objeto contendo:

    from: DATA, 20 Bytes - (opcional) O endereço do qual a transação é enviada.

    to: DATA, 20 Bytes - O endereço ao qual a transação é direcionada.

    gas: QUANTIDADE - gás fornecido para a execução da transação. eth_call consome zero gás, mas esse parâmetro pode ser necessário em algumas execuções.

    gasPrice: QUANTIDADE - preço do gás usado para cada gás pago

    value: QUANTIDADE - valor enviado com esta transação

    data: DATA - (opcional) Hash da assinatura do método e parâmetros codificados. Para detalhes veja Ethereum Contract ABI na documentação de Solidity

  • Número do bloco ou Hash do Bloco (EIP-1898)

// Solicitação
curl -X POST --data ', "0x0"],"id":1}' -H "Content-Type: application/json" http://localhost:8545

// Resultado

eth_estimateGas​

Retorna um valor estimado do gás necessário para enviar a transação.

Parâmetros​

  • Objeto contendo:

    from: DATA, 20 Bytes - O endereço do qual a transação é enviada.

    to: DATA, 20 Bytes - (opcional ao criar novo contrato) O endereço ao qual a transação é direcionada.

    value: QUANTIDADE - valor enviado com esta transação

// Solicitação
curl -X POST --data '],"id":1}' -H "Content-Type: application/json" http://localhost:8545

// Resultado

eth_getBlockByNumber​

Retorna informações sobre um bloco pelo número do bloco.

Parâmetros​

  • Número do Bloco
  • Se verdadeiro, retorna os objetos de transação completos, caso contrário apenas os hashes das transações.
// Solicitação
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

eth_getBlockByHash​

Retorna as informações do bloco dado o hash encontrado no comando acima e um bool.

Parâmetros​

  • Hash de um bloco.
  • Se verdadeiro, retorna os objetos de transação completos, caso contrário apenas os hashes das transações.
// Solicitação
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

eth_getTransactionByHash​

Retorna detalhes da transação dado o tx algo do Ethereum.

Parâmetros​

  • hash de uma transação
// Solicitação
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

eth_getTransactionByBlockHashAndIndex​

Retorna detalhes da transação dado o hash do bloco e o índice da transação.

Parâmetros​

  • Hash de um bloco.
  • Posição do índice da transação.
// Solicitação
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

eth_getTransactionReceipt​

Retorna o recibo de uma transação pelo hash da transação.

Nota: O código Tx do Tendermint e o status do recibo Ethereum são trocados:

TendermintEthereum
Sucesso01
Falha10

Parâmetros​

  • Hash de uma transação
// Solicitação
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

eth_newFilter​

Cria um novo filtro usando tópicos de algum tipo.

Parâmetros​

  • hash de uma transação
// Solicitação
curl -X POST --data '],"id":1}' -H "Content-Type: application/json" http://localhost:8545

// Resultado

eth_newBlockFilter​

Cria um filtro no nó, para notificar quando um novo bloco chegar.

// Solicitação
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

eth_newPendingTransactionFilter​

Cria um filtro no nó para notificar quando novas transações pendentes chegarem.

// Requisição
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

eth_uninstallFilter​

Remove o filtro com o ID fornecido. Retorna verdadeiro se o filtro foi desinstalado com sucesso, caso contrário, falso.

Parâmetros​

  • O ID do filtro
// Requisição
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

eth_getFilterChanges​

Método de polling para um filtro que retorna um array de logs que ocorreram desde a última consulta.

Parâmetros​

  • O ID do filtro
// Requisição
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

eth_getFilterLogs​

Retorna um array de todos os logs que correspondem ao filtro com o ID fornecido.

Parâmetros​

  • QUANTIDADE - O ID do filtro
// Requisição
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

eth_getLogs​

Retorna um array de todos os logs que correspondem a um objeto de filtro fornecido.

Parâmetros​

  • Objeto contendo:

    fromBlock: QUANTIDADE|TAG - (opcional, padrão: "latest") Número do bloco inteiro ou "latest" para o último bloco minerado ou "pending", "earliest" para transações ainda não mineradas.

    toBlock: QUANTIDADE|TAG - (opcional, padrão: "latest") Número do bloco inteiro ou "latest" para o último bloco minerado ou "pending", "earliest" para transações ainda não mineradas.

    address: DADOS|Array, 20 Bytes - (opcional) Endereço do contrato ou uma lista de endereços de onde os logs devem se originar.

    topics: Array de DADOS, - (opcional) Array de 32 Bytes DADOS tópicos. Os tópicos são dependentes de ordem. Cada tópico também pode ser um array de DADOS com opções "ou".

    blockhash: (opcional, futuro) Com a adição de EIP-234, blockHash será uma nova opção de filtro que restringirá os logs retornados ao bloco único com o hash blockHash de 32 bytes. Usar blockhash é equivalente a fromBlock = toBlock = o número do bloco com hash blockHash. Se blockhash estiver presente nos critérios de filtro, então nem fromBlock nem toBlock são permitidos.

// Requisição
curl -X POST --data '],"id":1}' -H "Content-Type: application/json" http://localhost:8545

// Resultado

eth_coinbase​

Retorna a conta para a qual as recompensas de mineração serão enviadas.

// Requisição
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

eth_getProof​

Retorna os valores de conta e armazenamento da conta especificada, incluindo a prova de Merkle.

Parâmetros​

  • Endereço da conta ou contrato
  • Inteiro da posição no armazenamento
  • Número do Bloco ou Hash do Bloco (EIP-1898)
// Requisição
curl -X POST --data '' -H "Content-type:application/json" http://localhost:8545

// Resultado

Métodos WebSocket​

Leia sobre websockets em Eventos Tendermint

eth_subscribe​

inscrever-se usando notificações JSON-RPC. Isso permite que os clientes esperem por eventos em vez de consultá-los.

Funciona inscrevendo-se em eventos específicos. O nó retornará um ID de inscrição. Para cada evento que coincida com a inscrição, uma notificação com dados relevantes é enviada junto com o ID de inscrição.

Parâmetros​

  • Nome da Inscrição
  • Argumentos Opcionais
// Requisição
]}

// Resultado
<

eth_unsubscribe​

Cancelar a inscrição de um evento usando o ID de inscrição

Parâmetros​

  • ID de Inscrição
// Requisição

// Resultado

Métodos Pessoais​

personal_importRawKey​

Privado: Requer autenticação.

:::Importa a chave privada não criptografada fornecida (string codificada em hexadecimal) para o armazenamento de chaves, criptografando-a com a senha.Retorna o endereço da nova conta.#### Parâmetros (2)1: privkey string- Requerido: ✓ Sim2: senha string- Requerido: ✓ Sim```json // Requisição curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

```### personal_listAccounts:::dica Privado: Requer autenticação.

Importa a chave privada não criptografada fornecida (string codificada em hexadecimal) para o armazenamento de chaves, criptografando-a com a senha.

Retorna o endereço da nova conta.

Parâmetros (2)​

1: privkey string

  • Requerido: ✓ Sim

2: senha string

  • Requerido: ✓ Sim
// Requisição
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

personal_listAccounts​

:::dica Privado: Requer autenticação. :::

Retorna uma lista de endereços para contas geridas por este nó.

// Requisição
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

personal_lockAccount​

Privado: Requer autenticação.

:::Remove a chave privada com o endereço fornecido da memória. A conta não poderá mais ser usada para enviar transações.#### Parâmetros- Endereço da Conta```json // Requisição curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

```### personal_newAccount:::dica Privado: Requer autenticação.

Remove a chave privada com o endereço fornecido da memória. A conta não poderá mais ser usada para enviar transações.

Parâmetros​

  • Endereço da Conta
// Requisição
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

personal_newAccount​

:::dica Privado: Requer autenticação. :::

Gera uma nova chave privada e armazena-a no diretório de armazenamento de chaves. O arquivo de chave é criptografado com a senha fornecida. Retorna o endereço da nova conta.

Parâmetros​

  • Senha
// Requisição
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

personal_unlockAccount​

Privado: Requer autenticação.

:::Descriptografa a chave com o endereço fornecido do armazenamento de chaves.Tanto a senha quanto a duração do desbloqueio são opcionais ao usar o console JavaScript. A chave descriptografada ficará na memória até que o tempo do desbloqueio expire. Se a duração do desbloqueio não for especificada, o padrão é 300 segundos. Uma duração explícita de zero segundos desbloqueia a chave até que o "geth" feche.A conta pode ser utilizada com eth_sign e eth_sendTransaction enquanto estiver desbloqueada.#### Parâmetros- Endereço da Conta

  • Senha
  • Duração```json // Requisição curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

```### personal_sendTransaction:::dica Privado: Requer autenticação.

Descriptografa a chave com o endereço fornecido do armazenamento de chaves.

Tanto a senha quanto a duração do desbloqueio são opcionais ao usar o console JavaScript. A chave descriptografada ficará na memória até que o tempo do desbloqueio expire. Se a duração do desbloqueio não for especificada, o padrão é 300 segundos. Uma duração explícita de zero segundos desbloqueia a chave até que o "geth" feche.

A conta pode ser utilizada com eth_sign e eth_sendTransaction enquanto estiver desbloqueada.

Parâmetros​

  • Endereço da Conta
  • Senha
  • Duração
// Requisição
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

personal_sendTransaction​

:::dica Privado: Requer autenticação. :::

Valide a senha fornecida e envie a transação.

A transação é o mesmo argumento como para eth_sendTransaction e contém o endereço "from". Se a senha puder ser utilizada para descriptografar a chave privada pertencente a "tx.from", a transação é verificada, assinada e enviada para a rede.

aviso

A conta não é desbloqueada globalmente no nó e não pode ser utilizada em outras chamadas RPC.

Parâmetros​

  • Objeto contendo:

    from: DADOS, 20 Bytes - O endereço de onde a transação é enviada.

    to: DADOS, 20 Bytes - (opcional ao criar novo contrato) O endereço para o qual a transação é direcionada.

    value: QUANTIDADE - valor enviado com esta transação.

  • Senha

// Requisição
curl -X POST --data ', "senha"],"id":1}' -H "Content-Type: application/json" http://localhost:8545

// Resultado

personal_sign​

Privado: Requer autenticação.

:::O método de assinatura calcula uma assinatura específica do Ethereum com: sign(keccack256("\x19Ethereum Signed Message:\n" + len(message) + message))),#### Parâmetros- Mensagem

  • Endereço da Conta
  • Senha```json // Requisição curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

```### personal_ecRecover:::dica Privado: Requer autenticação.

O método de assinatura calcula uma assinatura específica do Ethereum com: sign(keccack256("\x19Ethereum Signed Message:\n" + len(message) + message))),

Parâmetros​

  • Mensagem
  • Endereço da Conta
  • Senha
// Requisição
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

personal_ecRecover​

:::dica Privado: Requer autenticação. :::

ecRecover retorna o endereço associado à chave privada que foi utilizada para calcular a assinatura em personal_sign.

Parâmetros​

// Requisição
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

personal_initializeWallet​

Privado: Requer autenticação.

:::Inicializa uma nova carteira no URL fornecido, gerando e retornando uma nova chave privada.#### Parâmetros (1)Os parâmetros devem ser fornecidos por posição.1: url string- Requerido: ✓ Sim#### Exemplos de Cliente```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:::dica Privado: Requer autenticação.

Inicializa uma nova carteira no URL fornecido, gerando e retornando uma nova chave privada.

Parâmetros (1)​

Os parâmetros devem ser fornecidos por posição.

1: url string

  • Requerido: ✓ Sim

Exemplos de Cliente​

curl -X POST -H "Content-Type: application/json" http://localhost:8545 --data ''

wscat -c ws://localhost:8546 -x ''
javascript
personal.initializeWallet(url);

personal_unpair​

:::dica Privado: Requer autenticação. :::

Unpair deleta um emparelhamento entre carteira e o nó.

Parâmetros (2)​

  • URL
  • Senha do emparelhamento

Exemplos de Cliente​

curl -X POST -H "Content-Type: application/json" http://localhost:8545 --data ''

wscat -c ws://localhost:8546 -x ''
javascript
personal.unpair(url,pin);

Métodos de Debug​

debug_traceTransaction​

O método de debug traceTransaction tentará executar a transação da mesma maneira que foi executada na rede. Ele irá reproduzir qualquer transação que possa ter sido executada antes desta para finalmente tentar executar a transação que corresponde ao hash fornecido.

Parâmetros​

  • Configuração de Trace
// Requisição
curl -X POST --data ', step: function(log) , result: function() }"}],"id":1}' -H "Content-Type: application/json" http://localhost:8545

//Resultado
["68410", "51470"]

debug_traceBlockByNumber​

O endpoint traceBlockByNumber aceita um número de bloco e reproduzirá o bloco que já está presente no banco de dados.

Parâmetros​

  • Configuração de Rastreio
// Solicitação\ncurl -X POST --data ', step: function(log) , result: function() }"}],"id":1}' -H "Content-Type: application/json" http://localhost:8545\n\n//Resultado\n]}

Métodos de Mineração​

miner_getHashrate​

Privado: Requer autenticação.

:::\n\nObtenha a taxa de hash em H/s (Operações de Hash por segundo).\n\n:::aviso\nEspecífico para Proof-of-Work. Este endpoint sempre retorna 0.

Obtenha a taxa de hash em H/s (Operações de Hash por segundo).

:::aviso\nEspecífico para Proof-of-Work. Este endpoint sempre retorna 0.\n:::

// Solicitação\ncurl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545\n\n// Resultado\n

miner_setExtra​

Privado: Requer autenticação.

:::\n\nDefine os dados extras que um validador pode incluir ao propor blocos. Isso está limitado a 32 bytes.\n\n:::aviso\nNão compatível. Este endpoint sempre retorna um erro

Define os dados extras que um validador pode incluir ao propor blocos. Isso está limitado a 32 bytes.

:::aviso\nNão compatível. Este endpoint sempre retorna um erro\n:::

Parâmetros​

  • Dados
// Solicitação\ncurl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545\n\n// Resultado\n

miner_setGasPrice​

Privado: Requer autenticação.

:::\n\nDefine o preço mínimo do gás usado para aceitar transações. Qualquer transação abaixo deste limite é excluída do processo de proposta de bloco do validador.\n\nEste método requer reiniciar um nó após ser chamado porque ele altera o arquivo de configuração.\n\nCertifique-se de que seu chamador de crossfid start não esteja usando a bandeira minimum-gas-prices porque este valor será usado em vez do que está configurado no arquivo de configuração.\n\n#### Parâmetros\n\n* Preço do Gás Hex\n\njson\n// Solicitação\ncurl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545\n\n// Resultado\n\n\n\n### miner_start\n\n:::dica Privado: Requer autenticação.

Define o preço mínimo do gás usado para aceitar transações. Qualquer transação abaixo deste limite é excluída do processo de proposta de bloco do validador.

Este método requer reiniciar um nó após ser chamado porque ele altera o arquivo de configuração.

Certifique-se de que seu chamador de crossfid start não esteja usando a bandeira minimum-gas-prices porque este valor será usado em vez do que está configurado no arquivo de configuração.

Parâmetros​

  • Preço do Gás Hex
// Solicitação\ncurl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545\n\n// Resultado\n

miner_start​

:::dica Privado: Requer autenticação. \n:::

Inicia o processo de validação do CPU com o número dado de threads.

aviso

Não compatível. Este endpoint sempre retorna um erro

Parâmetros​

  • Hex número de threads
// Solicitação\ncurl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545\n\n// Resultado\n

miner_stop​

Privado: Requer autenticação.

:::\n\nPare a operação de validação.\n\n:::aviso\nNão compatível. Este endpoint sempre realiza uma operação sem efeito.

Pare a operação de validação.

:::aviso\nNão compatível. Este endpoint sempre realiza uma operação sem efeito.\n:::

// Solicitação\ncurl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

miner_setGasLimit​

Privado: Requer autenticação.

:::\n\nDefine o limite de gás que o minerador visará ao minerar. Nota: em redes onde o EIP-1559 está ativado, isso deve ser definido para o dobro do que se deseja como alvo de gás (ou seja, o gás efetivo usado em média por bloco).\n\n:::aviso\nNão suportado. Este endpoint sempre retorna false

Define o limite de gás que o minerador visará ao minerar. Nota: em redes onde o EIP-1559 está ativado, isso deve ser definido para o dobro do que se deseja como alvo de gás (ou seja, o gás efetivo usado em média por bloco).

:::aviso\nNão suportado. Este endpoint sempre retorna false\n:::

Parâmetros​

  • Limite de gás Hex
// Solicitação\ncurl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545\n\n// Resultado\n

miner_setEtherbase​

:::dica Privado: Requer autenticação. \n:::

Define o etherbase. Isso altera a carteira onde as recompensas do validador serão depositadas.

Parâmetros​

  • Endereço da conta
// Solicitação\ncurl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545\n\n// Resultado\n

Métodos TxPool​

txpool_content​

Retorna uma lista com os detalhes exatos de todas as transações atualmente pendentes para inclusão nos próximos blocos, assim como aquelas que estão programadas para execução futura apenas.

Parame (0)​

Exemplos de Cliente​

curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545\n
wscat -c ws://localhost:8546 -x ''
javascript\ntxpool.content();\n

Resultado​

json\n,"queued":{}

txpool_inspect​

Retorna uma lista em formato de texto para resumir todas as transações atualmente pendentes para inclusão nos próximos blocos, assim como aquelas que estão programadas para execução futura apenas. Este é um método especificamente adaptado para desenvolvedores verem rapidamente as transações no pool e encontrarem quaisquer potenciais problemas.

Parâmetros (0)​

Exemplos de Cliente​

curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545\n
wscat -c ws://localhost:8546 -x ''
javascript\ntxpool.inspect();\n

Resultado​

json\n,"queued":{}

txpool_status​

Retorna o número de transações atualmente pendentes para inclusão nos próximos blocos, assim como aquelas que estão programadas para execução futura apenas.

Parâmetros (0)​

Exemplos de Cliente​

curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545\n
wscat -c ws://localhost:8546 -x ''
txpool.status();

Resultado​

json\n}