LogoLogo
  • Persistence Hub
    • 👓Overview
    • 🌐Persistence Ecosystem
  • Begin & Explore
    • 🔏Wallet Setup
    • 📓Getting Your Persistence Address
    • 💰Acquiring $XPRT Tokens
  • Products
    • 🦾Persistence DEX (V1)
      • 📘Introduction
      • 📖Guides
        • 👨‍💼Managing Assets
        • 💱Trading Assets
        • 🚰Providing Liquidity
        • ⛓️Bonding/Unbonding Tokens
        • 🎉Claiming Rewards
        • 🏗️Creating New Pool
          • 🌀Metastable Pool
          • ⚖️Weighted Pool
          • 🧊Stable Swap Pool
      • 🏊‍♂️Pools
      • ⚡Instant LP Unbonding
      • 🎁Tradooor Rebate Program
      • 💰Fees
      • 🏆Rewards
      • ⚙️Technical Architecture
    • Bitcoin Cross-Chain Swaps (V2)
      • 🌟Introduction
      • 📚Fundamentals
        • 💱BTCfi
        • 🌉Bitcoin Layer 2s
        • Interoperability for BTCfi
        • 💡Intents for Blockchain Interoperability
      • 🔀Traditional Bridges vs. Intent-Based Swaps
      • ⚙️Product Mechanism
  • 💂Security
    • 📖Audits
  • Participate & Explore
    • $XPRT Token
      • 🛒Acquire
      • 📈Stake
      • 🏛️Governance
    • 🖥️Alternative Frontends
      • 🔃Hosting IPFS Versions with Pinata
      • 🤖IPFS Automation
    • 💼Wallets
    • 🔍Explorers
    • 💸Grants
  • Persistence Core-1 Chain
    • 🟢Running Nodes
      • Run a Local Node
      • Run a Testnet Node
      • Run a Mainnet Node
      • Node operations
        • State Sync
        • Run in the background
        • Cosmovisor upgrades
        • Manual upgrades
      • Seed & Peers
    • Public Infrastructure
      • Persistence Testnet
      • Endpoints
      • Snapshots & Archival Nodes
      • Faucets
      • Chain Registry
    • 🛡️Validators
      • Validate on Testnet
      • Validate on Mainnet
      • Validator Communication
    • 📡Relayers
      • IBC Channels
      • IBC Relayers
      • Relay on Mainnet
      • Relay on Testnet
    • 🫗Liquid Staking Module
      • For Validators
    • 📄Smart Contracts
      • Overview
      • Uploading a Contract
    • 👨‍💻Developer Tools
      • Persistence JS
      • Persistence SDK
    • ⚒️Community Tools
  • Community & Support
    • 🇹🇰Foundation Delegations
      • ➡️Round 1 - Closed
      • ➡️Round 2 - Closed
      • ⭐Bonus Delegation
      • ➡️Round 3 - Delegation Period Over
    • ⭕Coin-type Migration from 750 to 118
      • Persistence Wallet
      • Keplr Wallet
      • Ledger Hardware Wallet
      • Cosmostation Wallet
      • Coin98 Super Wallet
      • Math Wallet
      • Leap Wallet
      • Citadel Wallet
    • 🌎Geofencing on Persistence
    • 😍Connect & Follow
Powered by GitBook
On this page
  • Workflow
  • 1. Open a discussion
  • 2. Submitting Contract Code
  • 3. Instantiate Contract
  • Why this Process?
  • Resubmission

Was this helpful?

Edit on GitHub
  1. Persistence Core-1 Chain
  2. Smart Contracts

Overview

PreviousSmart ContractsNextUploading a Contract

Last updated 5 months ago

Was this helpful?

Workflow

For you to upload contract on persistence chain you would have to go through the following steps.

1. Open a discussion

is the first step towards putting your contract on persistence chain. You can find other proposal under the proposal category. For a contract proposal there is a specific format you need to follow, have a look at the proposals that are already on the forums or have a look at the .

The purpose of using forum is to give the core developers a clear picture of any security concerns related to contract. This might also streamline your efforts so that your contract can be up on the chain in no time.

If there are any concerns our developers will be taking it up with you so please make sure to mention your preferred contract detail.

Once this contract proposal discussion has been accepted you can proceed to upload your code and instantiate your contract.

2. Submitting Contract Code

You need to upload your contract code to the chain before instantiating. This is done through an on chain proposal.

Find a reference on

Now, you can request to vote on the proposal in the forum discussion.

proposal vote period: 

3. Instantiate Contract

Once the above proposal passes your code will be submitted to the chain, and you will receive your codeId. You won't get your contract address yet. CodeId is used for initiating the contract after which you will receive the contract address and use it for the intended purpose.

Now you can request to vote again on the relative discussion. After the proposal passes the contract address can be retrieved from the chain.

Why this Process?

Resubmission

The process can be repeated for up to 3 more times if it failed to pass due to legitimate external reasons (e.g., potential low governance participation that did not meet the minimum on-chain quorum).

Find a reference on

📄
Persistence Forums
reference
how to submit a proposal?
how to submit a proposal for initiating contract?