QuikNode, Ethereum and Delphi
Yes you can run your own Ethereum node, but setting up and managing a blockchain node is a difficult, time- and resource-consuming task. Not to mention that it is your responsibility to keep your node up to date with node and network upgrades.
QuikNode is a so-called remote node service that gives you all the power of a full-node without running one yourself. They have a free plan for developers, and if your decentralized application is ready to scale up, they have membership plans for up to 10 million requests/day. This can make a world of difference in the way your decentralized application feels for your users.
Let’s create a free account and obtain a complimentary endpoint to the Ethereum blockchain. Go to the QuikNode website and sign up. After signing up and signing in, you are greeted by your complimentary node:
Your node comes with the following JSON-RPC web3 provider over HTTPS:
Here’s how to plug your HTTPS endpoint in Delphi code. Launch Delphi, and then start a new project. Please make sure Delphereum and the dependencies are in your search path. Copy and paste the following example:
Please note that you will need to replace
<your-token>in the example above.
The example above breaks down to this. After we have created a new instance of the Delphereum client, we will then call a function named
web3.eth.blockNumber(). Because calls to the Delphereum library are asynchronous, the
web3.eth.blockNumber function expects a so-called promise. Inside this promise, we get the number of the most recent block and prompt that number in a message box. Please note that we need to synchronise the execution state with the main thread, and that is what
TThread.Synchronizedoes for us.
Congratulations! You have successfully connected your Delphi application to the Ethereum blockchain via QuikNode.