æpps update: Smart Contract Development

At æternity, the developer experience is just as important for us as the experience had by end users of our æpps. For this reason, we build a number of developer tools and write tutorials to enable anyone to engage with our blockchain. Prior to our Mainnet release we will be publishing a few blog posts specifically for developers who would like to build on our blockchain.

Developer Audiences

Within the developer audience we are are currently serving three sub-audiences: smart contract developers, developers familiar with JavaScript (running in the browser or in the back-end), and Python developers. This post is dedicated specifically to smart contract developers.

What are æternity Smart Contracts?

Smart Contracts are programs which live on the blockchain and allow users to formalize agreements between each other. Virtual machines running on nodes execute the contracts, for which the nodes receive fees. A contract will run when it receives notification of an event from the outside world, such as the transfer of a payment from a user, or some other real-world event identified by an oracle.

Contracts must be compiled before they are uploaded to the blockchain. Epoch will compile contracts, but external compilers will be available as well. The compiled bytecode is stored on the chain and executed by the nodes. This execution uses CPU power on the nodes, and so it is paid for, using gas.

Sophia Smart Contract Language & Tools for Smart Contract Developers

For our Mainnet launch we will support the Sophia smart contract language. You can learn more about what makes Sophia an excellent smart contract language in one of our previous posts, in our webinar Sophia, a functional blockchain language, as well as on Github.

We have deployed a Testnet compatible with our æpps SDKs: https://sdk-testnet.aepps.com . Developers can also run their own Testnet by following this guide.

Testnet Tokens Faucet

In order to acquire Testnet tokens needed to run and test smart contracts developers can use our Testnet faucet: https://faucet.aepps.com/ All they need to do is enter their public address and click “Top up!”.

Contracts Web Tool

Smart contract developers can write, deploy, and call smart contracts using the web tool which we built for this purpose: https://contracts.aepps.com/. The tool is connected to the æpps Testnet mentioned above.