If only I had listened to my parents and went outside with my friends instead of playing on the computer all day…wait, what!?
The recent past has been an interesting time in technology, and nearly all other aspects of our daily lives also. When pandemic mandates began lifting around the world, and the workforce was welcomed back in to the florescent filled cubicles where we kept our stash of energy drinks and miniature heaters, many of us took a pause; a moment to reflect and realize where we were in life, where we had hoped to be in life and where we were headed. Enter cryptocurrency. The crypto space offers inspiration, opportunity, and even trepidation and tentative contemplation. But, this odd little crypto-defi-blockchain-thingy roaming free out there in the growing metaverse seemed to allow us to be creative and flex our intellect and individuality effortlessly! And, now we code alongside our newfound brethren in what appears to be an optimistic rebellion of the status quo, where our minds can be a little freer, and hope is making the world a little better, and perhaps too for the generations that follow. Crazy, who knew a pandemic could have this effect?
W’s and H’s
Who, what, when, where, why, how and how much? Let’s start with the expanded 5 W’s, including our H friends. Half are self explanatory: Us, crypto, now, all over and some memes sprinkled on top. Alright, How is now the adventure we now call, “Ergopad!”
Us…well, me personally I have journeyed through dozens of languages and administration roles over the last 40 years. Starting with Assembly, a Masters in Electrical Engineering with a These in Neural Networks, Database Administration, and recently back to roots with Deep Learning in the Cloud and now exploring blockchain with Scala and building applications that support the Decentralized Revolution with the Ergopad team.
Elegance is not a design pattern, yet the concept is always relevant to the Developer Artist. There are many ways to rationalize the use of specific languages or services, but the way they combine can be messy or intuitive. Elegance focuses on weaving together the goals of a project with the tools in such a way that reduces technical debt, remains nimble, and still accomplish the requirements in the timeline expected. The Road to Ergopad has wound down a deep rabbit hole for some months, continuing to evolve and delve curiously deeper:
- Ergo Node(s)— the primary method for interacting with the blockchain is the REST API. There are other methods including the Ergo Explorer API, but this allowed us a way to abstract the Ergopad code from other project dependencies or the blockchain code itself, while providing a supported and straightforward manner with Ergo.
- Assembler — this brilliant little service by anon-real allows transactions to be submitted to the blockchain and, “followed” until they are complete. The Ergo Auction House has also been very useful in moments of required inspiration.
- The frontend UI is React with Next.js, and primarily interacts with Ergo through the backend API.
- The backend service is the focal point of the application, which we have developed in Python, using FastAPI to service the frontend tier, and interact with other services like Postgres, Redis and Ergo. This is a common design and an intuitive way to prevent interaction past the API. Newer features of Python like async functions/coroutines offer significant performance improvements over previous Python solutions.
- The Aggregator — this service very likely should be renamed! It consists of an exchange price scraper, storing results in a Postgres database. This also includes SigUSD and SigRSV pricing as well as a couple others for testing, but currently unused (i.e. ETH and BTC)
- Nginx, Postgres, Redis — These are utility services, including Celery/Flower and pgAdmin that support the needs of the application.
The team has gone through a hackathon, developed a working Ergo mining pool before deciding to change directions and begin working on Ergopad! Python was chosen to speed to market, as well as performance and extensibility. Docker is not a required component, but allows for mobility of overall solution and isolates services well to reduce dependency issues.
There is still a long way to go, and our Dev team is currently transitioning to full time Ergopad Devs! We are dedicated, the community has been fantastic and we can’t wait to get started!!
Ready for Launch
The team is currently working through the Smart Contracts to prevent maliciousness and will make all this clear. We are working with the Ergo Foundation and they have been amazing and will work with their team to ensure success.
Our team is committed to the decentralized revolution, focusing on security, opportunity and idealistically to improve the lifestyles of everyone in our Ergopad community!