Taking the initial steps to building on a blockchain can be rather daunting if you don’t know the tips and tricks that will save you hours of development and research time. dfuse is talking to experienced blockchain developers in the community so as to pass this valuable information along. This week we spoke with Nick Pai from Carbon.
Could you introduce yourself?
Hello all, I'm Nick, Lead Software Engineer at Carbon and Co-founder of Katechon, our capital markets software stack. I began programming in high school, studied Computer Science and Philosophy at Princeton University, and used Princeton's computing cluster to mine cryptocurrencies in 2014-2015. After graduation, I built software infrastructure at Barclays Capital for executing corporate-bond portfolio arbitrage trades, which involved identifying arbitrage opportunities, executing the trades, and analyzing trades after the fact. I found building new software at a large investment bank to be difficult because I was working with legacy technologies and slow-moving bureaucracy. Because of this, our admittedly simple portfolio trading software was ahead of the curve because other Wall Street firms were running into similar development problems. In 2017, Cryptocurrencies again became a passion of mine as I identified the surging crypto markets as possessing the rare combination of sufficiently high volume, integration with state of the art software, and massive inefficiencies. It was a trader's dream market, and I sympathized strongly with Carbon's long term plans of lowering barriers to entry for crypto markets.
Could you present the vision of Carbon?
Carbon's mission is to make purchasing cryptocurrencies as easy as possible for consumers and businesses alike. We offer fiat-to-crypto on- and off-ramps in a modular API ("Fiber") so that any web3 dApp can be their own bank. Wherever the Fiber API is integrated, on mobile or desktop, users can quickly purchase cryptocurrencies using a variety of user-friendly payment methods. We take care of KYC on-boarding, minimize fraud using our in-house Machine Learning-based anti-fraud solution, < 1% of price slippage due to Katechon's liquidity management, and custody assets using our hierarchical multi-asset wallet.
Finally, we have deployed stablecoins on EOS, Tron, Ethereum, Hedera, and other popular networks to reduce friction for new crypto holders. Stablecoins are a new class of cryptocurrencies which offer price stability and/or are backed by reserve assets, combining the instant processing and security of payments of cryptocurrencies, and the volatility-free stable valuations of fiat currencies. A currency which maintains a stable store of value is more efficient for an economy than one which does not. Neither the renter nor the landlord should sign a contract if its value might halve or double in any given month. A fluctuating currency requires continual recalculation and renegotiation. Therefore, any future decentralized economy will require stable cryptocurrencies
What are the main challenges when developing on a blockchain? Why did you choose EOS?
The main challenge when developing on a blockchain is the lack of documentation, sound engineering principles, and immature communication channels. I won't name names but building on some of the "leading" blockchains feels like running repeatedly into a wall because the documentation is three months out of date (an eternity in crypto-time) and there are no official "support" groups for developers. It is like we've been given a set of legos to build with no instructions and no contacts to answer our questions. For example, we integrate with 30+ crypto exchanges and some of them will "update their API's" suddenly and without warning, causing our software pipelines to temporarily break. The tradeoff of course is that we have become battle tested rather quickly. Our developers know how to look carefully at source code and piece together an integration solution, and we have developed software to minimize counterparty risk.
As for why we built on EOS, it is simple: the EOS virtual machine supports smart contracts in many different languages via eWasm, transactions on EOS are blazing fast and cheaper (i.e. FREE) compared to other leading smart contract platforms, and there exist many top-notch infrastructure products out there, like dfuse!
What have been the main hurdles that you have faced in bringing Carbon USD to the forefront?
Creating the most sought-after payment rails like credit cards was very difficult and it was not a technical problem. What we've learned quickly is that any team in the "DeFi" space must build a robust and nimble software and legal stack.
What advice would you give to a developer who wants to build a project on blockchain?
We use a wide variety of software technologies, including Python, Node.js, AWS, LMDB, and Postgresql to address our different user flows. The most important skill in this emerging space is an ability to learn quickly on the fly and to not be discouraged for too long. Building on blockchains is brand new for everyone regardless of their years of experience, so just keep on keeping on! That being said, the best resources for learning about crypto have been Twitter, Telegram, Medium, and Discord.
If you think that you have some great insight to share and would like to be featured on “In the Eyes of a Blockchain Developer”, please feel free to reach out to us! We would love to share your story and help inspire the many developers who join the blockchain space each and every day.