/how-to-provenance

Primary LanguageRustApache License 2.0Apache-2.0

How to Provenance

Welcome to the 'How To Provenance' repository, where you can find examples of Provenance Blockchain usage, Provenance Blockchain smart contract development, Provenance Blockchain application development and related topics.

The Provenance Blockchain Foundation is always eager for contributors. If you have an idea not covered by these examples, we want to hear about it! Love our software and want to contribute new functionality? Make a proposal through our Grants Program!

Index

  1. Authz Example: (Kotlin/Gradle) Use the blockchain Authz Module to grant privileges from one account to another, including delegated signing and fee allowances.
  2. Bilateral Trade Example: (Rust/Cargo) Execute a smart contract that trades coins between two parties, demonstrating a complete transfer of funds without the need for another intermediary entity.
  3. Create NFT Example: (Kotlin/Gradle) Use the Provenance Blockchain Metadata Module with scopes to store NFTs.
  4. Event Stream Example: (Kotlin/Gradle) Use the event stream library to watch for Provenance Blockchain blocks, acting as an external consumer to observe blockchain actions asynchronously.
  5. HDWallet Example: (Kotlin/Gradle) Use Provenance Blockchain's HDWallet library to generate mnemonics and sign payloads.
  6. P8e Contract + SDK Example: (Kotlin/Gradle/Docker) Run local docker containers to use the Contract Execution Environment and how to run a contract. This example illustrates how with p8e one might execute complex data storage and manipulation using Kotlin as a communication layer with the Provenance Blockchain.
  7. Provenance Smart Contract Example: (Rust/Cargo) Store and instantite a smart contract on the Provenance Blockchain written in Rust. Uses the provwasm library to do Provenance Blockchain interactions, like using the name module and adding attributes to persist data directly on the blockchain.
  8. Provenance Contract Migration Example: (Rust/Cargo) Migrate the code of an existing smart contract on the Provenance Blockchain to a new version. A continuation of the Provenance Smart Contract Example.
  9. Name Service dApp: Run a simple dApp that registers human-readable names to an account using a smart contract, the Provenance Wallet (to be publicly available soon) and a React frontend (no backend other than the blockchain itself)
  10. Provenance AWS Validator: Run a Provenance Validator on Amazon Web Services. Leverages AWS Nitro Enclaves for secure key usage.

Examples: Ordered by Domain Knowledge

Each example is listed below in order of knowledge needed to proceed, leveled:

100

200

300

400