10

I was wondering if it's possible to make a call to Ethereum blockchain from a software application on my computer without having to run an ethereum node ?

for example, I want to make calls from a normal software application such as a java program to send messages/transactions to a smart contract on the ethereum blockchain which returns something. Is that possible ?

or do I have to run an ethereum node through geth or mist to be able to make those calls?

eth
  • 85,679
  • 53
  • 285
  • 406
Moataz Soliman
  • 113
  • 1
  • 5

2 Answers2

4

Etherscan provides an API to send raw transactions as documented in https://etherscan.io/apis#proxy .

Etherchain provides API services as well but does not provide the ability to send transactions - see https://etherchain.org/documentation/api/ .

You would not want to send transactions using eth_sendTransaction as documented in https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_sendtransaction as the API server would need your private key to sign the transaction data.

The Etherscan service has an important note on the top of the API documentation page. I would not rely on these external services and would just run a geth node and have a reliable tap into the Ethereum blockchain.

BokkyPooBah
  • 40,274
  • 14
  • 123
  • 193
3

Yes, but this space has not yet fully matured, so your options are limited.

Some options

  • Metamask - While Metamask is specifically for Javascript in the browser, it does give you access to Ethereum transactions & manages their private keys without running a full node.
  • BlockApps - BlockApps is architected so that clients don't have to run a node. Instead, the bloc server stores private keys and provides a normal login/logout userflow.

  • Deploy your own - You can write a server which handles authentication and sending transactions. But it's important to know that when you deploy your own, or you use BlockApps, you are taking a significant amount of control out of your users hands & you take on a lot of responsibility.

Some notes

  • Light client protocol [In Development] - There is work being done to create a light client allowing the verification of transactions without a full node.
  • Geth team working on this?
  • Eventually this will be a service - Running a full node to access Ethereum applications makes no sense for average users. Instead tools like Metamask should allow users to control their private keys & sign transactions on the client and broadcast them to AWS-style Geth servers. There is also work being done to create a light client protocol which should help.
Karl Floersch
  • 1,691
  • 3
  • 19
  • 24