Android SDK for Aeternity

Please is there already an Android sdk for Aeternity or is there anyone working on this project or anyone who will love to work on the project

Currently there is no dedicated Android SDK. On the other hand a community based Java SDK is being developed - you can check it out here - in principle it can be used inside an android app but keep in mind that currently some work would be required to get this working inside android(for instance bundling a version of libsodium for ARM and adjusting the keystore).

1 Like

as @gorbak25 already mentioned you can try to use our java sdk. if you face any issues regarding android let us know about it.

I saw other crypto sdks that were/are distinguishing dependencies regarding bouncycastle explicitely for android because (probably old) versions of android had old bouncycastle packages integrated which leads to dependency-conflicts. those sdks make use of spongycastle (copy of bouncycastle with other package-names) to solve that issue.

  • I hope that this isn’t needed to make it work on new android versions
  • if so we need to provide another SDK version specifically for android

I have gone through the java sdk docs and I don’t really see how it solves my problem, what I need is for people to make smart contract payments in my Android application using a3, Please is there a straight forward way to make something like this presently. If there is, then you can point me in the right direction and those who understand it very well can also try making a tutorial video on it as that helps better.
Thanks a lot, am really grateful and I appreciate your replies

1 Like

we are currently working on a refactoring and providing easier ways to handle smart contract and general transaction interaction. the docs will be updated soon after. probably it is best for you to wait until we release the new version.

also besides the bouncycastle/spongycastle topic there might be trouble with libsodium. but we need to check that first.

maybe you can setup an android showcase where we can help and contribute if needed.

I will come back to you when we have released the new version. we will also update our aepps-sdk-showcase and our gitbook-documentation after releasing the new version.

OK, thanks a lot, I’ll be expecting the update
Am really grateful for your reply.

And please i wanted to add that I am majorly Android Developer and I don’t know much of what you guys wrote about spongyCastle, bouncycastle or libsodium but am willing to learn and I’ll be more grateful if you can send write-ups, books or tutorials that I can watch to better understand this concepts. I am also willing to help in building the Android sdk if it’s possible.

Am very familiar with writing Sophia for smart contracts, using testnet and base aepps, I am currently learning to use Aecli

Thank you

Reagrding SpongyCastle and BouncyCastle

  • BouncyCastle is a crypto-library written in Java which we use to create KeyPairs
  • Android was shipped with an integrated and modified BouncyCastle
    • I don’t know whether this is still the case
  • to avoid classpath-conflicts when including a probably newer BouncyCastle version within an Android app some guy(s) created SpongyCastle
    • SpongyCastle is a 1:1 copy of BouncyCastle where the packages of the classes are renamed

I haven’t looked in detail into this topic so I can’t tell more about it.

Encryption/Decryption of wallet-files

To create the keystore wallet-files we make use of following libraries:

We are using a tuweni functionality which requires libsodium. I don’t know whether this will work out of the box with Android. We need to check that.