#1 Gething our feet wet
Since Xuntos wants to dive into blockchain technology we needed to test the water. Over the next couple of months (since July 2018) we will try to find our way through the sea of knowledge around blockchain and specifically the Ethereum decentralized platform to eventually build a Proof of Concept (PoC) blockchain/decentralized application (Dapp), based on Ethereum. We will be blogging during the process and report our findings along the way.
On our first day getting started with blockchain technology we started out with little knowledge on how it actually works. Of course we had followed the technology for some time and especially during the Bitcoin craze last year. However, we never had actually done anything with it, although the idea of Dapps and the features of blockchain (decentralized, transparent, open source, autonomy, immutable, anonymity) were appealing. Some of us already found some interesting videos to watch and some articles to read which taught us the general concept of the blockchain. More specifically they taught us the general idea of smart contracts.
Those videos also included a tutorial for setting up the go-ethereum client Geth and getting started with a first private blockchain, made by Matt Thomas on YouTube (check out the first video below). The series continued with adding new nodes to the network and getting the nodes to mine blocks in the same chain. When the nodes were up and running the series elaborated how to build smart contracts with solidity and how to push them onto the chain. Those smart contracts are a very interesting way of interacting with the blockchain, because having these contracts run on all the nodes would open up a lot of possibilities. We have no doubt we will see many more of these contracts in our future endeavors building an application with blockchain.
Building our private net
Eventually after trying out the system with a tutorial, it was time to build our private network to develop our Dapp on. We started with the first node running on a laptop and we added a node on that same laptop to create a first test network. Then we added a node running on a second laptop. Meaning we figured out how to connect the clients over a LAN.
With this small network we did some testing on how Geth and the Ethereum platform handle nodes coming and going. We found out that, as we suspected, the Ethereum platform has great handling of nodes in the network losing connectivity and gaining connectivity back.
Satisfied with the result of the tests, we wanted to create some kind of master node. A node with which you can always connect and through that get access to the rest of the network. At Xuntos we mainly develop webapplications/websites in .NET and so we chose Microsoft’s Azure Cloud Platform for hosting our master node. This way uptime is guaranteed which is important for our PoC. As a bonus, Microsoft has a bunch of templates to start with blockchain on Azure. We ended up starting the “Ethereum Proof-of-Work Consortium” template.
Connecting to it was a matter of configuring the virtual network to expose the transaction node of the Consortium and then add the nodes in the cloud to the network we had running. And voila, we had the beginning of a network we can use for our Dapp.
If this blog post made you get started using Matt Thomas’ videos like us, or got you interested in Ethereum on Azure, or if you found this post in any other way interesting, please give it a clap!
Links
- Analysis of Blockchain technology: pros, cons and SWOT - https://link.springer.com/article/10.1007/s10586-018-2387-5
- Ethereum on Azure - https://azuremarketplace.microsoft.com/en-ca/marketplace/apps/microsoft-azure-blockchain.azure-blockchain-ethereum