...
Page properties | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...
Hyperledger Solang is a Solidity compiler written in Rust. It currently targets Substrate contracts pallet (pallet-contractsPolkadot) and Solana smart contract runtimes. After successful compilation, users need to upload the compiled contract artifacts to a blockchain node, so it can be interacted with. At the time of writing, this needs to be done manually via third-party web front-ends. Which results in an inefficient and tiring process during iterative contract development.
...
- Gather requirements and outline a generic interface that will be usable for both supported targets (Substrate and Solana).
- Implement the CLI as a sub-command commands for Solang:.
- For the Substrate target; cargo-contract already provides a CLI for node interactions (Substrate target), however it does not yet support Solidity contracts.
- For the Solana target
- Describe the CLI in Solang's documentation.
...
- Solang provides a working and documented CLI for node interactions with Substrate and Solana. Options for sub-commands (like RPC end-point, account to use, dry-run flag, gas limits, verbosity and other specific options) must be configurable by the user.
- A sub-command for uploading contracts.
- A sub-command for instantiating contracts.
- A sub-command for calling contract functions. This command must correctly encode transaction input, display and show the calls output and debug output as well as emitted events.
- A sub-command for listening to emitted events.
- The student should factor the relevant parts of cargo-contract out into a dedicated library (crate) to make it usable in Solang.
- Developed source code is of adequate quality, merged in the projects upstream repositories and have undergone common Pull Request processes.
...