This repository is for community-submitted blueprints awaiting review and approval by the Hathor team.
- Read about Nano Contracts and Blueprints in our documentation
- Complete our Blueprints tutorials to learn the basics
- Review the blueprint guidelines to ensure compliance
- Test your blueprint thoroughly
- Prepare a clear description of your blueprint's purpose and functionality
- Create a pull request targeting the
masterbranch with your new blueprint- The pull request must contain a single blueprint submission
- The file should be placed in the
blueprints/your_blueprint_name/directory - Follow the naming convention:
your_blueprint_name.py - The PR description must explain the blueprint's purpose and functionality
- You can add other files that may help the review, e.g., test file, markdown with detailed description.
- Track your submission in the GitHub Project
Your pull request should add a folder to the blueprints/ directory with the files:
blueprints/
└── your_blueprint_name/
├── your_blueprint_name.py
└── tests.py
Once the review process of your blueprint is completed, you will see all the comments requesting changes in the pull request.
After addressing all the comments, tag the reviewer in a comment on the same pull request so we can review it again.
The approval of a blueprint will be done directly in the pull request. Once approved, the Hathor team will push the blueprint to the network and merge your pull request.
We will link the explorer URL of your blueprint in a comment on the pull request.
Can I submit multiple blueprints in one PR?
No, each pull request should contain only a single blueprint file. If you want to submit multiple blueprints, please create separate pull requests for each one.
Can I change an existing blueprint?
If the blueprint is still in the review queue (pull request not yet merged), you can change it as much as you want by pushing new commits to your PR branch.
Once a blueprint has been approved and pushed to the network, it becomes immutable and cannot be changed. However, your original code could use upgradable Blueprint features that may allow a contract to be pointed to a new Blueprint or to make proxy (delegate) calls to other Blueprints.
What happens if my blueprint is rejected?
If your blueprint doesn't meet the requirements or has issues, reviewers will provide feedback in the pull request comments. You can address the feedback and request a re-review by tagging the reviewer in a comment.