app-store
CLI to get your service verified and deployed on the main network.
The Verification Process
Publishing is a formal, on-chain process that gets your code from your machine to a live mainnet canister.- Publish: You submit your service’s Git commit hash and metadata to the protocol.
- Build & Verify: The protocol’s automated system checks out your code, builds the WASM file, and verifies that its hash matches the one produced on your machine. This proves the source code is what you claim it is.
- Deploy: Once the build verification passes, the protocol automatically creates a new canister on your behalf and deploys the verified WASM to the main network.
- Audits: Independent auditors review your source code for quality and security. You can add bounties to incentivize faster reviews.
Step 1: Get Your Git Commit Hash
The entire verification process is anchored to a specific Git commit. This ensures that the code being audited is exactly the code you intended to publish. Make sure all your changes are committed.Step 2: Find Your WASM Path
The publishing tool needs to know where your compiled canister WASM is located so it can hash it for verification. After running a local deploy (npm run deploy
), you can find it at this path:
the_weather_oracle
, the path would be .dfx/local/canisters/the_weather_oracle/the_weather_oracle.wasm
.
Step 3: Host Your App’s Visual Assets
Your app’s icon and banner need to be accessible via public URLs to be displayed in the App Store. The easiest and most professional way to host these is by using GitHub Releases.- Navigate to Releases: In your GitHub repository, click on the “Releases” tab on the right-hand side.
- Draft a New Release: Click the “Draft a new release” button.
- Create a Tag: In the “Choose a tag” box, type a new tag for your assets (e.g.,
v1.0.0-assets
) and click “Create new tag”. Give it a title like “App Store Assets”. - Upload Images: Drag and drop your
icon.png
andbanner.png
files into the attachments box. - Publish Release: Click the “Publish release” button.
- Copy URLs: On the release page, your images will be listed as assets. Right-click on each asset’s filename and select “Copy Link Address”. These are the permanent, public URLs you’ll need for your manifest.
Step 4: Initialize and Configure Your Manifest
Theapp-store
CLI needs a configuration file to know what to submit. If you haven’t already, initialize it.
prometheus.yml
file in your project root. Open this file and fill in all the details about your service, including:
- The
git_commit
hash from Step 1. - The
wasm_path
from Step 2. - The public
icon_url
andbanner_url
you created in Step 3.
Step 5: Publish Your Service
Now, publish your service to the protocol. This single command bundles your code’s proof (the commit hash and WASM hash), your WASM file, and your metadata, and submits it to the Audit Hub.Step 6: Monitor the Verification Status
Once you’ve published, your submission enters the audit queue. You can track its progress on the Prometheus Audit Hub.- Go to https://prometheusprotocol.org/audit-hub
- Click on the “Pending Verifications” tab.
- Find your service by its WASM hash.
Speeding Up the Review
The audit is performed by other members of the ecosystem. To get your service reviewed faster, you can add a bounty to your submission.- Add a Bounty: Use the app store UI to add a bounty to your pending audit, making it more attractive for reviewers.
- Request a Bounty: If you don’t want to fund it yourself, you can post in our Discord and ask if another community member is willing to sponsor your review.
🎉 Congratulations! Your MCP server is a trusted, verified, and discoverable part of the Prometheus ecosystem.