Please describe your proposed solution.
Golang is a popular language used by many blockchains like Cosmos, Ethereum and Avalanche. Therefore there is a need for a Golang package supporting all the changing features that Cardano provides.
This package will provide the following features:
- Transaction building
- Serialization primitives
- Wallet management
- Metadata support
- Multi-asset support
- NFT support
- Native and Plutus scripts support
Also every future changes from incoming hard forks events will be implemented, such as changes in the transaction body, encoding, new features or capabilities, etc.
Please describe how your proposed solution will address the Challenge that you have submitted it in.
The project will implement every feature in phases, following the hardfork timeline of the given features(for example Allegra-Mary for Multi-assets). In each phase time will be allocated for investigation of the protocol features and the implementation which includes developing and testing. Every meaningful change or feature for each phase will be pushed to the github repository.
What are the main risks that could prevent you from delivering the project successfully and please explain how you will mitigate each risk?
There are limitations with the current package used for CBOR encoding and decoding. A temporary solution is to use a patched internal version of the CBOR package.