Protocol Development
Contribution guidelines haven't yet been formalized. Ideas and suggestions are welcome in this regard. For now, if you have a change you'd like to make, pleae feel free to submit a Pull Request!
Dependencies
- JDK 17+
- SBT/Scala
- Flutter
- NodeJS 20+
Launch
- Start the relay node.
cd scalasbt relay/run
- Start the wallet.
cd ../dart/walletflutter run
Implementation & Directory Structure
- Models are defined in protobuf, and you can find them in the
proto/directory.- Misc/support files are defined in
external_proto/ - Protobuf models are served over JSON-RPC, not gRPC
- Misc/support files are defined in
- The backend/relay node is defined in Scala, and you can find it in the
scala/directory.- Most of the code is defined in the
nodemodule - Compiled protobuf files are defined in the
protobufmodule
- Most of the code is defined in the
- The wallet is defined in Dart/Flutter, and you can find it in the
dart/directory.- The
sdkdirectory contains a client, codecs, wallet, and miscellaneous utilities for interacting with the chain - The
walletdirectory is an application with a built-in wallet, block explorer, staker, and social explorer
- The
- The SDK is defined in Typescript, and you can find it in the
typescript/sdk/directory.