Developer discussion can be found on the official Telegram channel here. This channel is intended as a developer/contribution channel. It should not be used for customer support requests, comedy/memes, or price talk. Feel free to discuss current issues, future possibilities, and visions for how you think Cardano should progress.
Please open an issue to report about found bugs in Cardano SL.
The more detailed your report, the faster it can be resolved and will ensure it is resolved in the right way.
If you would like to contribute code to fix a bug, add a new feature, or otherwise improve Cardano SL, pull requests are most welcome. It is a good idea to submit an issue to discuss the change before plowing into writing code.
Please make sure your contributions adhere to our coding guidelines:
- Code must adhere to the Serokell Haskell Style Guide.
- Code must be documented with Haddock.
- We are using GitFlow
branching model, so pull requests need to be based on and opened against the
develop
branch. - Please refer to this guide to write a good Git commit message.
Please note that Cardano SL uses a custom prelude Universum instead of the default one.
Common tasks for development are kept in Makefile
s, one per package and one for the whole project.
Run make help
to get assistance on custom commands.
As an example, you can run make ghcid-test
in the wallet
package to get a test-running ghcid
process running.
Cardano SL uses HLint as a code quality tool.
You can install it using stack install hlint
command.
To check Cardano SL code run this script (from the cardano-sl
root directory):
$ ./scripts/haskell/lint.sh
Cardano SL uses stylish-haskell tool to prettify Haskell code.
Please note that there is .stylish-haskell.yaml
in the root of the repository. This
configuration file requires stylish-haskell
version 0.8.1.0
or newer.
You can install it using stack install stylish-haskell
command.
We also use editorconfig
to maintain consistent indentation and maximum line length.
You can download a plugin for almost any common editor.
Cardano SL Documentation is published at cardanodocs.com.
Please note that we have a separate repository for documentation. So if you would like to help with documentation, please submit a pull request with your changes/additions.
To run tests for Cardano SL code use this command (from the cardano-sl
root directory):
$ stack test