Since EOSDawn3 and 4, I’ve been a massive fan of the eosio software from block.one. For those not familiar with eosio, it’s open-source blockchain software which underpins networks like EOS, TELOS, WAX, and BOS.
Note: These public networks are typically well known, but are building their own unique value proposition, iterating at speed and experimenting in areas such as resource models, governance, tokenomics, consensus protocols and general network operations.
As exciting as it is to watch from the outside, I’d say relatively few have the opportunity to go deep and learn about the inner workings of the software. Over the last 12 months, I’ve been lucky enough to have this opportunity, the learnings don’t stop and keep coming.
So what makes up the eosio software. The software itself is pretty straight forward, you don’t need much to get going. Here are the core components:
nodeos– This is the chain software. It’s the raw blockchain, communicating messages to other nodes within the network.
nodeosis simple but not simplistic and in my experience extremely reliable, fast and enjoyable to use.
cleos– This is the command-line tool for nodeos. It comes bundled with eosio when you deploy the software.
keosd– This is your vault or wallet. The use of keosd is not mandatory as there are other wallets/signers available in the opensource world, for example, eosc from EOS Canada.
- Hardware – You need someone to run the software. It could be your local machine, a container on your local machine or a cloud instance. Whatever works for you.
What can I do with eosio?
Eosio is an application development platform, used to deploy what some call decentralised applications or dApps. Think serverless technology like AWS Lambda, but with state stored in an immutable database which automatically distributes data to all network nodes. When executing code, all nodes produce the same outcome. Execution is deterministic which means it’s exceptional when you wish to prove your app ran as designed. Transparency, auditability, integrity and traceability are default in eosio which means you can open your app to third parties to independently validate.
Another great thing about eosio is it runs independently of cloud, hardware and location. Code works deterministically no matter whether it runs on bare metal, containers or virtual machines. In a previous post I suggested blockchain could enable true hybrid cloud, I still believe this is a real possibility.
How to get started?
For detailed instructions, I’d highly recommend the official eosio developer portal and if you’re stuck the eosio stack exchange. The documentation improves every day, the community are friendly and will help you where possible. Alternatively, you can reach out to me, if I can’t help I might know others who can.
In future posts, I plan to expand on some of the learnings and create posts that will help people get their networks up and running. That’s for tuning in.