Smart Contract Development in Retrospect

in #lotustoken7 years ago (edited)

Less than two (2) months ago, I saw an invitation (via Facebook group chat) of an opportunity to join the development of a new of a new blockchain-based venture related to the travel industry. As someone who has been following the phenomenal growth of this new tech that is being tagged to define web 3.0, I signed up and eventually found out that this plan was started about three (3) months prior to my day 1 with the team.

The idea was simple - to create a travel-oriented agency that would provide automated teller machines and an electronic card system that allows conversion of fiat (of any supported/participating nation) into tokens, which could then be used to trade for travel-related perks or services such as lodgings, airfare discounts, or tour services.

Admittedly, this concept sounded exciting. A way to go beyond the status quo and start working on a decentralized way to match consumers with service providers - all at huge discounts that are primarily due to reduced overhead costs currently incurred by large and well-established travel agencies.

In short, I got sold to the idea and went on to help out develop the foundations of what has now become the venture's whitepaper. My primary role was to make sure the objectives and terms of the crowd sale (ICO) are reasonable. As a person with a background in programming, I love the idea of creating a gamified set of instructions.

The thrill magnified when I was given the chance to also participate in translating this game concept into Solidity codes that will form the smart contract for the three crowd sale events (Early Adopters, Presale, Main ICO).

An undertaking such as this requires a certain level of trust between team members. As a junior solidity developer who believes in the positive attributes of decentralized systems - where everyone can make reliable transactions with anyone else in the world, trust is a primary key to move forward. The belief in the business idea and the team to be able to deliver formed the base of this key.

This is in spite of the fact that we are all treading in a highly volatile and speculative ground - similar to the DotCom boom in 1994. It is a leap of faith - a personal statement of goodwill with the expectation of the same treatment to be returned.

Smart Contracts enhance this ideal. It is a way to secure how the digital value (tokens or cryptocurrencies) is transferred and distributed without the need for a central authority to manage such transactions. This is where Ethereum exceeds fiat or bitcoin transactions, particularly during contract executions.

To illustrate, payments (for crowd sale participation) in fiat would theoretically require a contributor to deposit to a bank account - incurring bank service charge, bank-to-bank charges, 2-5 days processing, withdrawal of fund and manual computation and processing of the tokens bought to the contributor. Online payments in fiat may consume less time and service fees but will still have a lengthy process with the chance to require a human mediation to complete the transaction.

Bitcoin also follows a similar route. To contribute to an Ethereum-based token crowd sale, one has to send BTC to a specified ICO-related address, then the officer-in-charge (OIC; receiver) will have to manually convert BTC to ETH in order to participate in the crowd sale contract.

Once the ETH has been sent and the corresponding token has been received, the OIC will do another manual transfer of the tokens to the contributor, which in theory takes longer time and is prone to human error, which brings me to the point of this argument - smart contracts simplify all these processes and assures proper delivery and handling of the virtual goods being passed around.

Through smart contracts, terms and conditions are pre-coded and irreversible once executed. This protects the contractors by following all the terms of the contract.

In the case of the smart contract I helped develop, the terms included a minimum contribution (0.2 ethers) and max contribution per transaction (the limits vary from one crowd sale period to another). It also places a hard cap per contributor per crowd sale period to protect the token from hoarders. Furthermore, it defines how collected crowd sale contributions are distributed - according to the plan found in the white paper.

As a freelance solidity dev contractor, this provides security for the services that I and the rest of the devs have invested in this project without any prior compensation. The 0.8% (out of the total token supply) for the work I invested is is a good compensation - considering the relative risks.

Similarly, each of us will get the same percentage of share except for the branding officer (who gets half that) and the initial three (3) venture capitalists who will each get twice the developers' share for the legal papers, website costs, and other initial operations costs they shouldered.

We've just finished deploying the smart contract and I am curious and excited to find out how the market would understand and support this project. Personally, I am already satisfied to have experienced the development process and to have built a good relationship with my fellow developers... the crypto-compensation is the bonus part.

For a complete reference to the deployed smart contract, check out Etherscan for the verified codes.

Before ending this post, I would like to thank in advance those who found the time to read, and hopefully post some feedback or insight as to how you found the way the smart contract works.

Lotus Token Inc