Thanks to a generous grant from The Aion Foundation, the ethers.js library is now also available for those that wish to develop against the Aion blockchain network.
This library is a complete Aion Wallet implementation and utilities in JavaScript (and TypeScript).
Features
- Keep your private keys in your client, safe and sound
- Meta-classes create JavaScript objects from any contract ABI, including ABIv2 and Human-Readable ABI for FVM Contracts and AVM standard ABI for AVM Contracts.
- Connect to Aion using JSON-RPC or Nodesmith.
- Complete functionality for all your Aion needs
- Fully TypeScript ready, with definition files and full TypeScript source
- MIT License (including ALL dependencies); completely open source to do with as you please
Coming soon...
This library is maintained as a TypeScript project, using Lerna and a handful of custom admin scripts.
To contribute or hack on top of this library, you should modify the TypeScript source files. To use incremental compilation, to assist while developing, you can use:
/Users/ricmoo/ethers> npm run auto-build
A very important part of ethers is its exhaustive test cases, so before making any bug fix, please add a test case that fails prior to the fix, and succeeds after the fix. All regression tests must pass.
Pull requests are always welcome, but please keep a few points in mind:
- Compatibility-breaking changes will not be accepted; they may be considered for the next major version
- Security is important; adding dependencies require fairly convincing arguments
- The library aims to be lean, so keep an eye on the dist/ethers.min.js file size before and after your changes
- Add test cases for both expected and unexpected input
- Any new features need to be supported by us (issues, documentation, testing), so anything that is overly complicated or specific may not be accepted
In general, please start an issue before beginning a pull request, so we can have a public discussion. :)
I do this because I love it, but if you want to buy me a coffee, I won't say no. :o)
Ethereum: 0xEA517D5a070e6705Cc5467858681Ed953d285Eb9
Completely MIT Licensed. Including ALL dependencies.