QuickNode, Ethereum and Delphi

Setting up and managing a blockchain node is a difficult, time- and resource-consuming task... Here’s how to plug your free QuikNode endpoint in Delphi code 👉

QuickNode, Ethereum and Delphi

While Infura is an awesome gateway to Ethereum, when you have a high-traffic decentralized application then you might have a need for maximum performance, non-funnelled access to the blockchain.

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.

QuickNode 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 QuickNode 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:

https://<your-node-name>.quiknode.pro/<your-token>/

Now let's plug your HTTPS endpoint into 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 code example from GitHub Gist here.

Please note that you will need to replace <your-node-name> and <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 QuickNode.


Need help with your project or have questions? Contact us via this form, on Twitter @QuickNode, or ping us on Discord!

About QuickNode

QuickNode is building infrastructure to support the future of Web3. Since 2017, we’ve worked with hundreds of developers and companies, helping scale dApps and providing high-performance access to 16+ blockchains. Subscribe to our newsletter for more content like this and stay in the loop with what’s happening in Web3! 😃