Every monday 16:00 CET, there is our main dev meeting on our chat. Feel free to join and discuss with other darkfi devs.
In general, the best way to get started is to explore the codebase thoroughly and identify issues and areas of improvement.
Contribute according to your own interests, skills, and topics in which you would like to become more knowledgable. Take initiative. Other darkfi devs can help you as mentors: see the Methodology section of the Study Guide.
Few people are able be an expert in all domains. Choose a topic and specialize. Example specializations are described here. Don't make the mistake that you must become an expert in all areas before getting started. It's best to just jump in.
Tasks are usually noted in-line using code comments. All of these tasks should be resolved and can be considered a priority.
To find them, run the following command:
git grep -E 'TODO|FIXME'
There are several areas of work that are either undergoing maintenance or need to be maintained:
drk tool. right now
we're adding DAO functionality
to it.src/sdk/python/.Fuzz testing is a method to find important bugs in software. It becomes more powerful as more computing power is allocated to it.
You can help to test DarkFi by running our fuzz tests on your machine. No specialized hardware is required.
As fuzz testing benefits from additional CPU power, a good method for running the fuzzer is to let it run overnight or when you are otherwise not using your device.
After running the normal commands to set-up DarkFi as described in the README, run the following commands.
# Install cargo fuzz
cargo install cargo-fuzz
Run the following from the DarkFi repo folder:
cd fuzz/
cargo fuzz list
This will list the available fuzzing targets. Choose one and run it with:
# format: cargo fuzz run TARGET
# e.g.
cargo fuzz run serial
This process will run infinitely until a crash occurs or until it is cancelled by the user.
If you are able to trigger a crash, get in touch with the DarkFi team via irc.