I am building a Dapp that will need to invoke a smart contract and then send funds to another address. Do, I need to be running my own node to accomplish sending a request to the Ethereum network? Is there anyway to broadcast my transaction directly to the broader network?


Easiest way to do this to use infura.io. infura run nodes and provide APIs to interact with those nodes. You could access the mainnet, Ropsten and Rinkeby through infura. The only trick with infura is that you have to submit signed transactions. In other words, you have use sendRawTransaction of web3.js. This involves few steps and could look bit complicated if you are doing it for the first time. But there is a npm package (web3js-raw) which take care of this by wrapping few web3.js functions.

| improve this answer | |
  • You don't pass your private key into the API right? You sign the transaction before you make the API call? – RagHaven Jan 20 '18 at 3:59
  • Correct , never give away the private key – Chim Jan 20 '18 at 4:00
  • Thanks! Do other blockchains have this capability? I'd like to support transactions and creating wallets for several cryptos, but I am wondering if I have to host a node for each one. I know that all the ERC20 tokens can be handled through infura, but I want to support Bitcoin, Litecoin, ZCash. – RagHaven Jan 20 '18 at 4:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.