Skip to main content

Integration recommendations

Arthera will launch its Mainnet in Q4 2023. As you know, the best way to get ready for this is to test your app as much as possible (Solidity contracts and interfaces) using Arthera Testnet. Following the current development best practices, we invite you to follow the steps described below.

This integration process can also be a great opportunity to engage with the dev community you may have: these tasks are easy and don't require specific knowledge. External contributors can express themselves at each step of the way: that's the magic of open source development! Also, the Arthera team will be happy to guide and advise everyone, sometimes even during one of our weekly Build-in-Public sessions, we're on Telegram and Discord.

Standard process

  1. Iso-functional deployment
  2. End-to-end tests
  3. Deployment with Arthera subscriptions
  4. End-to-end tests II
  5. Fiat payment widget integration (soon)

1. Iso-functional deployment

The very first step is to deploy your Solidity contracts to Arthera Tesnet without making any modification, meaning first without Arthera subscriptions. It should work the exact same way as any EVM-based network. If you're using Hardhat, this tutorial is available and you can view here a typical Hardhat config file here.

2. End-to-end tests

You probably already have these in place. At this stage, your unit tests and scripts should work on Arthera Testnet just like they do on any other networks.

3. Arthera subscriptions integration

There's nothing easier than an Arthera subs integration. A new tutorial will be published in the coming days, but you already can go ahead and follow this tutorial. To recap, you want to:

  • Subscribe your app here
  • Edit your contract (as shown on this page)
  • Test it
  • Deploy it
  • Add your contract address here

4. End-to-end tests II

There are two things to add in your test scripts and interfaces:

  • Whitelist your users so they can forget about gas fees (using the whitelistAccount()) function called from the subscription owner wallet (EOA). This will be even easier when the Subscriptions Management Platform (SMP) will be released.
  • Add a gas limit option in your calls: {gasLimit: 42000}. Example:
const call = await myContract.enjoyGasLessInteraction({ gasLimit: 42000 });

At this stage, you're ready to deploy to Arthera Mainnet! 🎉 (Q4 2023)

tip

Our Hardhat plugin will soon allow you to perform specific tests. Its alpha version can be viewed here.

5. Fiat payment widget integration

The team is currently working on a Subscriptions Management Platform (SMP) that will allow you to manage your end-users' subscriptions to your app. One of the key features of this service is the possibility to allow your users to subscribe to your app in fiat currencies. The only thing you'll have to do is to set up a Stripe account, then add Arthera fiat payment widget to your app: your users would put in place a recurring payment and then interact with your smart contracts without even noticing they're actually onchain.

Multi-chain strategy

As we now live in a multi-chain world, it can be a good idea to have a long-term multi-chain strategy for your app. There are several approaches to this. We will publish a blog post to go into details, but meanwhile feel free to contact us so we can advise on this.

info

Latest update: August 24, 2023