Skip to main content

EVM

A continuación, encontrará una lista de métodos JSON-RPC compatibles con CrossFi, ordenados por espacios de nombres.

Ejemplos de Curl Explicados

Las opciones de curl a continuación podrían devolver una respuesta donde el nodo se queja del tipo de contenido, esto se debe a que la opción --data establece el tipo de contenido en application/x-www-form-urlencoded. Si su nodo se queja, configure manualmente el encabezado colocando -H "Content-Type: application/json" al inicio de la llamada.

Los ejemplos tampoco incluyen la combinación de URL/IP y el puerto que debe ser el último argumento dado a curl, por ejemplo, 127.0.0.1:8545

Puntos finales

MétodoEspacio de nombresImplementadoPúblicoNotas
web3_clientVersionWeb3
web3_sha3Web3
net_versionRed
net_peerCountRed
net_listeningRed
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/ASolo PoW
eth_submitWorkEthN/ASolo PoW
eth_submitHashrateEth
eth_getCompilersEth
eth_compileLLLEth
eth_compileSolidityEth
eth_compileSerpentEth
eth_signTransactionEth
eth_miningEth
eth_coinbaseEth
eth_hashrateEthN/ASolo PoW
eth_getUncleCountByBlockHashEthN/ASolo PoW
eth_getUncleCountByBlockNumberEthN/ASolo PoW
eth_getUncleByBlockHashAndIndexEthN/ASolo PoW
eth_getUncleByBlockNumberAndIndexEthN/ASolo PoW
eth_getProofEth
eth_subscribeWebsocket
eth_unsubscribeWebsocket
personal_importRawKeyPersonal
personal_listAccountsPersonal
personal_lockAccountPersonal
personal_newAccountPersonal
personal_unlockAccountPersonal
personal_sendTransactionPersonal
personal_signPersonal
personal_ecRecoverPersonal
personal_initializeWalletPersonal
personal_unpairPersonal
db_putStringBase de Datos
db_getStringBase de Datos
db_putHexBase de Datos
db_getHexBase de Datos
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_backtraceAtDebug
debug_blockProfileDebug
debug_cpuProfileDebug
debug_dumpBlockDebug
debug_gcStatsDebug
debug_getBlockRlpDebug
debug_goTraceDebug
debug_freeOSMemoryDebug
debug_memStatsDebug
debug_mutexProfileDepuración
debug_seedHashDepuración
debug_setHeadDepuración
debug_setBlockProfileRateDepuración
debug_setGCPercentDepuración
debug_setMutexProfileFractionDepuración
debug_stacksDepuración
debug_startCPUProfileDepuración
debug_startGoTraceDepuración
debug_stopCPUProfileDepuración
debug_stopGoTraceDepuración
debug_traceBlockDepuración
debug_traceBlockByNumberDepuración
debug_traceBlockByHashDepuración
debug_traceBlockFromFileDepuración
debug_standardTraceBlockToFileDepuración
debug_standardTraceBadBlockToFileDepuración
debug_traceTransactionDepuración
debug_verbosityDepuración
debug_vmoduleDepuración
debug_writeBlockProfileDepuración
debug_writeMemProfileDepuración
debug_writeMutexProfileDepuración
les_serverInfoLes
les_clientInfoLes
les_priorityClientInfoLes
les_addBalanceLes
les_setClientParamsLes
les_setDefaultParamsLes
les_latestCheckpointLes
les_getCheckpointLes
les_getCheckpointContractAddressLes
miner_getHashrateMinerSin efecto
miner_setExtraMinerSin efecto
miner_setGasPriceMinerSe requiere reiniciar el nodo
miner_startMinerSin efecto
miner_stopMinerSin efecto
miner_setGasLimitMinerSin efecto
miner_setEtherbaseMiner
txpool_contentTxPool
txpool_inspectTxPool
txpool_statusTxPool
El número de bloque se puede ingresar como una cadena Hex, "earliest", "latest" o "pending".

A continuación se encuentra una lista de los métodos RPC, los parámetros y un ejemplo de respuesta de los espacios de nombres.

Métodos Web3

web3_clientVersion

Obtiene la versión del cliente web3.

Parámetros (0)

Ejemplos de clientes

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

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

web3_sha3

Devuelve Keccak-256 (no el SHA3-256 estandarizado) de los datos proporcionados.

Parámetros (1)

1: entrada hexutil.Bytes

  • Requerido: ✓ Sí

Resultado

Ejemplos de clientes

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

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

Métodos de Red

net_version

Devuelve el Id. de red actual.

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

// Resultado

net_peerCount

Devuelve el número de pares conectados actualmente al cliente.

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

// Resultado

net_listening

Indica si el cliente está escuchando activamente las conexiones de red.

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

// Resultado

Métodos de Eth

eth_protocolVersion

Devuelve la versión actual del protocolo ethereum.

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

// Resultado

eth_syncing

El objeto de estado de sincronización puede necesitar ser diferente dependiendo de los detalles del protocolo de sincronización de Tendermint. Sin embargo, el resultado 'sincronizado' es simplemente un valor booleano, y puede derivarse fácilmente del estado de sincronización interno de Tendermint.

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

// Resultado

eth_gasPrice

Devuelve el precio actual del gas en el parámetro de denominación EVM predeterminado.

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

// Resultado

eth_accounts

Devuelve una matriz de todas las cuentas de ethereum.

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

// Resultado

eth_blockNumber

Devuelve la altura del bloque actual.

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

// Resultado

eth_getBalance

Devuelve el saldo de la cuenta para una dirección de cuenta y número de bloque dados.

Parámetros

  • Dirección de la cuenta
  • Número de bloque o hash de bloque (EIP-1898)
// Solicitud
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

eth_getStorageAt

Devuelve la dirección de almacenamiento para una dirección de cuenta dada.

Parámetros

  • Dirección de la cuenta
  • Número entero de la posición en el almacenamiento
  • Número de bloque o hash de bloque (EIP-1898)
// Solicitud
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

eth_getTransactionCount

Devuelve la cantidad total de transacciones para una dirección de cuenta y número de bloque dados.

Parámetros

  • Dirección de la cuenta
  • Número de bloque o hash de bloque (EIP-1898)
// Solicitud
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

eth_getBlockTransactionCountByNumber

Devuelve la cantidad total de transacciones para un número de bloque dado.

Parámetros

  • Número de bloque
// Solicitud
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado
}

eth_getBlockTransactionCountByHash

Devuelve la cantidad total de transacciones para un hash de bloque dado.

Parámetros

  • Hash de bloque
// Solicitud
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

eth_getCode

Devuelve el código para una dirección de cuenta y número de bloque dados.

Parámetros

  • Dirección de la cuenta
  • Número de bloque o hash de bloque (EIP-1898)
// Solicitud
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

eth_sign

El método sign calcula una firma específica de Ethereum con: sign(keccak256("\x19Ethereum Signed Message:\n" + len(message) + message))).

Al agregar un prefijo al mensaje, la firma calculada es reconocible como una firma específica de Ethereum. Esto previene el uso indebido en el que una DApp maliciosa puede firmar datos arbitrarios (por ejemplo, transacciones) y usar la firma para hacerse pasar por la víctima.

advertencia

La dirección para firmar debe estar desbloqueada.

Parámetros

  • Dirección de la cuenta
  • Datos a firmar
// Solicitud
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_sign","params":["0x9b2055d370f73ec7d8a03e965129118dc8f5bf83", "0xdeadbeaf"],"id":1}' -H "Content-Type: application/json" http://localhost:8545

// Resultado

Métodos WebSocket

Lee sobre websockets en Tendermint Events

eth_subscribe

Suscribirse usando notificaciones JSON-RPC. Esto permite que los clientes esperen por eventos en lugar de sondearlos.

Funciona suscribiéndose a eventos particulares. El nodo devolverá un id de suscripción. Por cada evento que coincida con la suscripción se envía una notificación con datos relevantes junto con el id de suscripción.

Parámetros

  • Nombre de la Suscripción
  • Argumentos Opcionales
// Solicitud

// Resultado

eth_unsubscribe

Darse de baja de un evento usando el id de suscripción.

Parámetros

  • ID de suscripción
// Solicitud

// Resultado

eth_coinbase

Devuelve la cuenta a la cual se enviarán las recompensas de minería.

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

// Resultado

eth_getProof

Devuelve los valores de cuenta y almacenamiento de la cuenta especificada, incluyendo la prueba Merkle.

Parámetros

  • Dirección de cuenta o contrato
  • Entero de la posición en el almacenamiento
  • Número de Bloque o Hash del Bloque (EIP-1898)
// Solicitud
curl -X POST --data '' -H "Content-type:application/json" http://localhost:8545

// Resultado

Métodos Personales

personal_importRawKey

consejo

Privado: Requiere autenticación.

Importa la clave privada dada no cifrada (cadena codificada en hex) en el almacén de claves, cifrándola con la frase de paso.

Devuelve la dirección de la nueva cuenta.

Parámetros (2)

1: claveprivada cadena

  • Requerido: ✓ Sí

2: contraseña cadena

  • Requerido: ✓ Sí
// Solicitud
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

personal_listAccounts

Privado: Requiere autenticación.

Devuelve una lista de direcciones para las cuentas que gestiona este nodo.

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

// Resultado

personal_lockAccount

Privado: Requiere autenticación.

Elimina la clave privada con la dirección dada de la memoria. La cuenta ya no se puede usar para enviar transacciones.

Parámetros

  • Dirección de Cuenta
// Solicitud
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

personal_newAccount

Privado: Requiere autenticación.

Genera una nueva clave privada y la almacena en el directorio de almacén de claves. El archivo de clave se cifra con la frase de paso proporcionada. Devuelve la dirección de la nueva cuenta.

Parámetros

  • Frase de paso
// Solicitud
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

personal_unlockAccount

Privado: Requiere autenticación.

Desencripta la clave con la dirección dada desde el almacén de claves.

Ambos, la frase de paso y la duración de desbloqueo son opcionales cuando se usa la consola de JavaScript. La clave no cifrada se mantendrá en memoria hasta que expire la duración de desbloqueo. Si la duración de desbloqueo predeterminada es de 300 segundos. Una duración explícita de cero segundos desbloquea la clave hasta que geth finalice.

La cuenta puede usarse con eth_sign y eth_sendTransaction mientras está desbloqueada.

Parámetros

  • Dirección de Cuenta
  • Frase de paso
  • Duración
// Solicitud
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

personal_sendTransaction

Privado: Requiere autenticación.

Valida la frase de paso dada y envía la transacción.

La transacción es el mismo argumento que para eth_sendTransaction y contiene la dirección from. Si la frase de paso puede usarse para desencriptar la clave privada perteneciente a tx.from, la transacción se verifica, firma y envía a la red.

advertencia

La cuenta no está desbloqueada globalmente en el nodo y no se puede usar en otras llamadas RPC.

Parámetros

  • Objeto que contiene:

    from: DATOS, 20 Bytes - La dirección desde donde se envía la transacción.

    to: DATOS, 20 Bytes - (opcional al crear un nuevo contrato) La dirección a la que se dirige la transacción.

    valor: CANTIDAD - valor enviado con esta transacción

  • Frase de paso

// Solicitud
curl -X POST --data ', "frasedepaso"],"id":1}' -H "Content-Type: application/json" http://localhost:8545

// Resultado

personal_sign

Privado: Requiere autenticación.

El método de firma calcula una firma específica de Ethereum con: sign(keccack256("\x19Ethereum Signed Message:\n" + len(mensaje) + mensaje))),

Parámetros

  • Mensaje
  • Dirección de la Cuenta
  • Contraseña
// Solicitud
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

personal_ecRecover

Privado: Requiere autenticación.

ecRecover devuelve la dirección asociada con la clave privada que se usó para calcular la firma en personal_sign.

Parámetros

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

// Resultado

personal_initializeWallet

Privado: Requiere autenticación.

Inicializa una nueva billetera en la URL proporcionada, generando y devolviendo una nueva clave privada.

Parámetros (1)

Los parámetros deben darse por posición.

1: url cadena

  • Requerido: ✓ Sí

Ejemplos de Cliente

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

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

personal_unpair

Privado: Requiere autenticación.

Inicializa una nueva billetera en la URL proporcionada, generando y devolviendo una nueva clave privada.

Parámetros (1)

Los parámetros deben darse por posición.

1: url cadena

  • Requerido: ✓ Sí

Ejemplos 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

Privado: Requiere autenticación.

Unpair elimina un emparejamiento entre la billetera y el nodo.

Parámetros (2)

  • URL
  • Contraseña de emparejamiento

Ejemplos 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 Depuración

debug_traceTransaction

El método de depuración traceTransaction intentará ejecutar la transacción de la misma manera exacta en que fue ejecutada en la red. Reproducirá cualquier transacción que pueda haberse ejecutado antes de esta antes de intentar finalmente ejecutar la transacción que corresponde al hash dado.

Parámetros

  • Configuración de Rastro
// Solicitud
curl -X POST --data ', step: function(log) , result: function() }"}],"id":1}' -H "Content-Type: application/json" http://localhost:8545

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

debug_traceBlockByNumber

El punto final traceBlockByNumber acepta un número de bloque y reproducirá el bloque que ya está presente en la base de datos.

Parámetros

  • Configuración de Rastreo
// Pedido\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 Minería

miner_getHashrate

Privado: Requiere autenticación.

Obtiene la tasa de hash en H/s (operaciones de hash por segundo).

consejo

Específico de Prueba de Trabajo. Este endpoint siempre devuelve 0.

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

// Resultado

miner_setExtra

Privado: Requiere autenticación.

Configura los datos extra que un validador puede incluir al proponer bloques. Esto está limitado a 32 bytes.

consejo

No compatible. Este endpoint siempre devuelve un error

Parámetros

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

// Resultado

miner_setGasPrice

Privado: Requiere autenticación.

Establece el precio mínimo de gas utilizado para aceptar transacciones. Cualquier transacción por debajo de este límite queda excluida del proceso de propuesta de bloque del validador.

Este método requiere un reinicio del nodo después de ser llamado porque cambia el archivo de configuración.

Asegúrese de que su llamada crossfid start no esté utilizando la bandera minimum-gas-prices porque este valor se utilizará en lugar del configurado en el archivo de configuración.

Parámetros

  • Precio de Gas en Hex
// Solicitud
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

miner_start

Privado: Requiere autenticación.

Iniciar el proceso de validación de CPU con el número dado de hilos.

advertencia

No compatible. Este endpoint siempre devuelve un error

Parámetros

  • Número de hilos Hex
// Solicitud
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

miner_stop

Privado: Requiere autenticación.

Detener la operación de validación.

consejo

No compatible. Este endpoint siempre realiza una operación sin efecto.

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

miner_setGasLimit

Privado: Requiere autenticación.

Establece el límite de gas al que el minero apuntará mientras mina.

consejo

En redes donde EIP-1559 está activado, esto debe configurarse al doble de lo que desea que sea el objetivo de gas (es decir, el gas efectivo utilizado en promedio por bloque).

consejo

No compatible. Este endpoint siempre devuelve false

Parámetros

  • Límite de gas Hex
// Solicitud
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

miner_setEtherbase

consejo

Privado: Requiere autenticación.

Establece la etherbase. Cambia la billetera donde se depositarán las recompensas del validador.

Parámetros

  • Dirección de Cuenta
// Solicitud
curl -X POST --data '' -H "Content-Type: application/json" http://localhost:8545

// Resultado

Métodos de TxPool

txpool_content

Devuelve una lista de los detalles exactos de todas las transacciones que actualmente están en espera para ser incluidas en el próximo bloque(s), así como aquellas que están programadas para ejecución futura solamente.

Parámetros (0)

Ejemplos de Cliente

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

Resultado

,"queued":{}

txpool_inspect

Devuelve una lista en formato de texto para resumir todas las transacciones que actualmente están en espera para ser incluidas en el próximo bloque(s), así como aquellas que están programadas para ejecución futura solamente. Este es un método diseñado específicamente para desarrolladores para ver rápidamente las transacciones en el pool y detectar cualquier problema potencial.

Parámetros (0)

Ejemplos de Cliente

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

Resultado

,"queued":{}

txpool_status

Devuelve el número de transacciones que actualmente están en espera para ser incluidas en el próximo bloque(s), así como aquellas que están programadas para ejecución futura solamente.

Parámetros (0)

Ejemplos de Cliente

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

Resultado