3️⃣3️⃣ Creating your Kinto App

If you have not already make sure that you have setup a deployer EOA as explained in our prior steps.

What is a Kinto App?

Kinto Apps are ERC-721s NFTs that contain all the metadata related to a Kinto application and its usage by developers. These NFTs are owned by Kinto Wallets and can be transferred or burned if needed.

Namely a Kinto App will have:

  • Name of the application*

  • Address of the main/parent contract*

  • An array of other contracts

  • An array of app limits (see the KintoAppRegistry API for details)*

  • A set of development EOAs that can access you contracts without the need of encapsulating account abstraction UserOps through the EntryPoint.

*marks required fields

1. Deploy your first contract

Deploy your first contract:

Make sure that your $PRIVATE_KEY is set up and is the key for the deployer EOA you set up in the previous step.

source .env && forge create src/sample/Counter.sol:Counter --rpc-url $KINTO_RPC_URL --private-key $PRIVATE_KEY 

2. Create your first app

At this stage your contract is not yet accessible by your EOA or other Kinto Wallets, for that last step you need to create an application in the developer portal. Go back to our site and click on 'Dev Portal' and then on "Create a new APP":

Fill up the form and add you Counter as the main contract address. Add your deployer EOA to the list of EOAs and for now you can leave the default 'App sponsorship limits' (we will cover those on another guide but you can see the details in the SponsorPaymaster API).

Once you are ready click on 'Create APP'. Congratulations, you have created your first Kinto App!

3. Top up EOAs or SponsorPaymaster

From this screen you will be able to top up EOA or add balance to the sponsor paymaster:

Click on Fund EOAs or Top Paymaster, chose the amount and sign the transaction as you did before.

4. Test your EOA access to your contract

cast send --private-key $KINTO_DEV_KEY 0xYOUR_COUNTER_ADDRESS "increment()" --legacy --rpc-url $KINTO_RPC_URL

Remember that this access is intended for managing your smart contracts only. Users of the Kinto chain will need to interact with your smart contracts through UserOps, Let's learn how on our next guide creating and sending UserOps through Kinto's EntryPoint.

Last updated