參與貢獻

Help is always appreciated!

To get started, you can try installing Vyper in order to familiarize yourself with the components of Vyper and the build process. Also, it may be useful to become well-versed at writing smart-contracts in Vyper.

Types of Contributions

In particular, we need help in the following areas:

如何提出改善建議

To suggest an improvement, please create a Vyper Improvement Proposal (VIP for short) using the VIP Template.

如何回報議題

To report an issue, please use the GitHub issues tracker. When reporting issues, please mention the following details:

  • 您使用的是哪個版本的 Vyper

  • What was the source code (if applicable)

  • Which platform are you running on

  • 您的作業系統名稱和版本

  • Detailed steps to reproduce the issue

  • What was the result of the issue

  • What the expected behaviour is

Reducing the source code that caused the issue to a bare minimum is always very helpful and sometimes even clarifies a misunderstanding.

Fix Bugs

Find or report bugs at our issues page. Anything tagged with 「bug」 is open to whoever wants to implement it.

風格指南

Our style guide outlines best practices for the Vyper repository. Please ask us on the Vyper (Smart Contract Programming Language) Discord #compiler-dev channel if you have questions about anything that is not outlined in the style guide.

拉取請求的工作流程

In order to contribute, please fork off of the master branch and make your changes there. Your commit messages should detail why you made your change in addition to what you did (unless it is a tiny change).

If you need to pull in any changes from master after making your fork (for example, to resolve potential merge conflicts), please avoid using git merge and instead, git rebase your branch.

送交訊息

For guidance on writing good commit messages, see How to Write a Git Commit Message.

To ensure your commit message is properly formatted (wrapped at 72 characters), use the included formatter:

  1. Write your commit message in a text file

  2. Run python fmt_commit_msg.py commitmsg.txt (this formats the file in-place)

  3. Paste the formatted message in your PR description, wrapped in triple backticks

The maintainer will use this message when squash-merging your PR.

實現新功能

If you are writing a new feature, please ensure you write appropriate Pytest test cases and place them under tests/.

If you are making a larger change, please consult first with the Vyper (Smart Contract Programming Language) Discord #compiler-dev channel.

Although we do CI testing, please make sure that the tests pass for supported Python version and ensure that it builds locally before submitting a pull request.

Thank you for your help!