¿Es posible crear una transacción sin contrato?

Me han solicitado crear una demo para enviar transacciones usando Ethereum y nodeJS, soy nuevo en esto de las criptomonedas por lo que tengo algunas dudas:

  1. Necesito hacer transacciones sin usar contratos. La mayor parte de la información que he encontrado utiliza contratos. ¿es eso posible?

    Hasta ahora he encontrado la biblioteca web3js para conectarme a un nodo local:

    var web3 = require('web3');
    var w3 = new web3(new web3.providers.HttpProvider("http://localhost:8545"));
    

    También encontré preguntas anteriores con ejemplos para enviar Transacciones pero usan Contratos:

    https://ethereum.stackexchange.com/questions/25839/how-to-make-transactions-using-private-key-in-web3
    
  2. Necesito estimar la tarifa para la transacción. Cuando trabajaba con Bitcoins, había páginas como: https://bitcoinfees.earn.com/api/v1/fees/recommended que le daban un precio por byte, luego obtenía la cantidad de utxos para cubrir la transacción y la usaba para obtener el tamaño de la transacción que multiplicado por la tarifa por byte le dio la tarifa estimada.

Leí en ethereum que usa una moneda diferente para las transacciones que para las tarifas (éter y gas), ¿cómo lo calculo? hay una API?

Gracias de antemano por tu ayuda.

Respuestas (1)

Respecto a la primera. Es perfectamente posible simplemente enviar transacciones. En realidad, llamar a un contrato no es más que enviar una transacción a una dirección de contrato con información cuidadosamente codificada en el campo de datos (ver rawTransaction)

Para simplemente enviar una transacción, geth proporciona el método

enviarTransacción(...)

Eso hace el trabajo que buscas.

Teniendo en cuenta la estimación de la tarifa, esta web es tu compañera perfecta. Te recomiendo que leas esta otra pregunta

tal vez me puedas ayudar con esta otra pregunta: ethereum.stackexchange.com/questions/33473/…
Usando web3, la función a usar es: sendSignedTransaction. web3js.readthedocs.io/en/1.0/…
me pueden ayudar con otra pregunta por favor ethereum.stackexchange.com/questions/34071/…