26 lines
1.2 KiB
Markdown
26 lines
1.2 KiB
Markdown
# Contributing
|
|
|
|
First, thank you for contributing! We love and encourage pull requests from everyone. Please
|
|
follow the guidelines:
|
|
|
|
1. Check open [issues](https://github.com/tutus-one/tutus-chain/issues) and
|
|
[pull requests](https://github.com/tutus-one/tutus-chain/pulls) for existing discussions.
|
|
1. Open an issue first to discuss a new feature or enhancement.
|
|
1. Write tests and make sure the test suite passes locally and on CI.
|
|
1. When optimizing something, write benchmarks and attach the results:
|
|
```
|
|
go test -run - -bench BenchmarkYourFeature -count=10 ./... >old // on master
|
|
go test -run - -bench BenchmarkYourFeature -count=10 ./... >new // on your branch
|
|
benchstat old new
|
|
```
|
|
`benchstat` is described here https://godocs.io/golang.org/x/perf/cmd/benchstat.
|
|
|
|
1. Open a pull request and reference the relevant issue(s).
|
|
1. Make sure your commits are logically separated and have good comments
|
|
explaining the details of your change. Add a package/file prefix to your
|
|
commit if that's applicable (like 'vm: fix ADD miscalculation on full
|
|
moon').
|
|
1. After receiving a feedback, amend your commits or add new ones as
|
|
appropriate.
|
|
1. **Have fun!**
|