æternity æpps

How to get started with æternity aepp development

Here are some steps you can follow to get going with æternity aepp development. The goal is to built an app (we call them aepps) which will

We run the aepps in the Ethereum Kovan network. So for write actions to this blockchain Gas in the form of Kovan-ETH tokens (KETH) will be needed and we won’t transfer real AE tokens, though Kovan-AE tokens (KAE).

To get started follow these steps:

1. Check out the Getting Started boilerplate Tutorial:

This tutorial explains how to built a simple dapp using truffle, vue and the æternity identity manager
https://codeburst.io/dapp-scratch-a-cli-for-building-dapps-and-tutorial-for-building-your-first-one-5cabdff3771e

2. Check out other existing Demo æpps:

Have a look at those existing repos to get a first understanding of how things are done in other apps.

3. Get your hands dirty and fork the boilerplate to get started:

This is the boilerplate which is also used in the tutorial from step #1. You haven’t forked it yet? Go for it :)
https://github.com/okwme/dapp-scratch

4. Be inspired by the style guide

This sketch file shows the latest styles of various aepps. You will see that often the same elements are used, because consistency is always the goal :).

https://github.com/aeternity/aepp-prototypes/blob/master/aepp-prototypes.sketch

We can also invite you to the exported files in Zeplin.io, if you don’t have the current sketch version.

5. Use these existing vue components

Ready made vue components which are in line with our style guide. Go ahead and use these buttons, icons, input fields and so on in your aepp.

Here it is explained how to use the npm package for these components

https://github.com/aeternity/aepp-components

and here you can get an overview of the existing components
http://components.aepps.com/

6. Try out the conversational machine to easily built a chat bot like aepp

With this npm module you can built aepps like our notary aepp where the user interacts in a chat environment with a chat bot. You pretty much only have to set up the question -> answer logic.

https://github.com/aeternity/conversational-machine

7. Get some KAE and KETH tokens to test your app

You will need of course some test tokens during development. You can get both by sending in your public key via a github gist and curl.

A) At best you firstly set up a new testing wallet at Myetherwallet to collect your tokens there. From there you can send them to new created accounts to the Identity manager or to Metamask or you can also import your account in either one.

At this moment Myetherwallet is the best way to send AE tokens and to display the AE balance.

B) Copy your public key in a github gist and create a new gist (public or secret doesn’t matter).

C) Use curl to send the gist url to either the KAE or the KETH faucet

For KAE tokens

Just use the gist-id (only the number at the end, also called the hash) and the right curl command:

curl http://ae-faucet.aepps.com/gist --data "gist_id=<id of the gist>"

e.g.

curl http://ae-faucet.aepps.com/gist --data "gist_id=9b3bbb10cafa79ff7da54f90600fa8a8"

For KETH tokens

Put the whole gist- url and the right curl command:

curl http://github-faucet.kovan.network/url --data "address=https://gist.github.com/[github_username]/[gist_hash]"

e.g.

curl http://github-faucet.kovan.network/url --data \
	"address=https://gist.github.com/followyoureyes/9b3bbb10cafa79ff7da54f90600fa8a8"

More details for the KETH faucet:
https://github.com/kovan-testnet/faucet/#github-gist-faucet–automated-
Both work once a day.

D) Done!
You should have KAE and KETH tokens now. Congrats!

8. Check your KAE balance

So how many KAE do I have? To check your KAE balance you use at best Myetherwallet (your KETH balance is displayed in the identity manager and in metamask, your KAE not yet).

To display your KAE balance and to be able to send KAE tokens with Myetherwallet you need to add a custom token in the wallet with the following details:

The Kovan æternity contract and the transfers you can see also here: https://kovan.etherscan.io/token/0x35d8…f9f9

9. Solidity

The smart contracts are written for the Kovan Ethereum network so we use Solidity for the contracts.

For this it’s useful to have a look at the Solidity API. Enjoy!
https://solidity.readthedocs.io/en/develop/solidity-in-depth.html

10. Questions

Please don’t hestitate to write to us any questions or comments! Especially for the hackathon we have set up a hackathon telegram channel.