Juno Blockchain Documentation

repository·main·Indexed 43 days ago

https://github.com/cosmoscontracts/juno

A sovereign public blockchain built using the Cosmos SDK and CometBFT, designed as a sandbox for interoperable smart contracts. This documentation covers node setup, Docker-based local testing, protobuf generation, and specialized modules including x/burn, x/clock for periodic execution, x/cw-hooks for staking events, x/drip for staker airdrops, x/feepay for fee subsidies, and the AIMD EIP-1559 fee market.

Tokens
46.5K
Snippets
136
Records
235
Agent score
55%

What's inside Juno

  1. Overview of the `x/feepay` module

    main
    The x/feepay module is an internal Juno Network module designed to improve user experience for Smart Contract developers. It allows developers to implement functionality where the execution fees for transactions interacting with their contract can be covered by the contract itself (or a designated party), rather than requiring the end-user to have sufficient funds in their wallet. This is particularly useful for onboarding new users who may have little to no available funds.
  2. Overview of the `feeshare` module

    main

    The x/feeshare module in the Juno Network allows for splitting transaction fees between the community and a smart contract deployer. This mechanism provides a revenue stream for CosmWasm smart contract developers.

    When a smart contract is registered with the module, every transaction that interacts with that contract triggers a fee-splitting event. A portion of the transaction fees is then directed to either the contract deployer or a specifically assigned withdrawal account.

  3. Overview of the FeePay module

    main
    The x/feepay module enables developers to subsidize transaction fees for users interacting with their smart contracts. A developer can register a contract within the module and fund it with juno tokens. Once funded, the module covers the execution fees for wallets that interact with the registered contract, providing a seamless user experience by removing the need for users to hold gas tokens.
  4. Overview of the `x/clock` module

    main
    The x/clock module is an internal Juno Network module that enables specific smart contracts to be executed automatically at the end of every block. This mechanism allows contracts to perform periodic actions or maintain state based on block intervals without relying on external whitelisted bots. By using x/clock, you can ensure constant, chain-native execution for your application's logic.
  5. Overview of the Clock module

    main
    The Clock module enables smart contracts to execute logic automatically at the end of every block. This eliminates the need for an external bot or keeper to trigger time-based or block-based operations, as the module provides a native mechanism for periodic execution within the blockchain lifecycle.
  6. Overview of Juno

    main
    Juno is an open-source, sovereign public blockchain built using the Cosmos SDK and CometBFT. It serves as a decentralized, permissionless, and censorship-resistant sandbox environment specifically designed for the deployment of interoperable smart contracts. The platform aims to offload smart contract execution from the Cosmos Hub to a dedicated sister Hub to preserve the Hub's neutrality and performance.
  7. Overview of the fee-share module

    main
    The fee-share module allows for the sharing of smart contract execution fees with contract developers. This mechanism was implemented following Juno Prop 51. The module is a modified fork of the evmos/x/revenue module and is designed to distribute transaction fees generated by contract interactions back to the developers.
  8. Overview of the Juno v30 Upgrade Plan

    main

    The v30 upgrade aims to modernize the Juno chain binary by updating the underlying Cosmos SDK and CosmWasm stack. This involves bumping core dependencies like cosmos-sdk, wasmd, wasmvm, ibc-go, and cometbft, as well as updating app wiring, custom modules, and upgrade handlers to accommodate breaking API changes in the new stack.

    Key technical focus areas include:

    • Dependency Management: Updating cosmossdk.io/* modules and transitive dependencies.
    • App Logic: Patching app/keepers/, app/modules.go, and app/ante/ for SDK drift.
    • Upgrades: Extending app/upgrades/v30/ for state migrations and store mounts.
    • Wasm Integration: Validating wasmbindings/ against the new wasmd API and managing the wasmvm 2.x to 3.x transition.
    • Custom Modules: Auditing x/ modules and managing Juno-specific forks like x/mint and x/burn.
  9. Overview of the drip module

    main

    The x/drip module in Juno Network enables authorized addresses (typically smart contracts) to perform live airdrops to Juno Stakers.

    To use this module, an authorized address sends tokens to the fee_pool module and then executes a MsgDistributeTokens message. Once this message is called by an authorized address, all funds sent with it are distributed to stakers at the next block.

    A common pattern is for projects to allocate tokens to a smart contract that manages a custom distribution schedule (e.g., using an external scheduler like CronCat) to trigger the distribution via the drip module.

  10. Use the x/burn module for Juno token burning

    main

    The x/burn module is a specialized plugin used exclusively on the Juno network to facilitate token burning in compliance with the requirements of the x/mint module fork.

    WARNING: Do not use this module for any networks other than Juno. It is specifically designed for Juno's unique module architecture.

  11. Overview of the `x/cw-hooks` module

    main
    The x/cw-hooks module in Juno Network enables smart contracts to be executed automatically at the end of every block or at specific block intervals. This mechanism replaces the need for external whitelisted bots by allowing the blockchain itself to handle periodic or constant executions, ensuring reliable, chain-native automation for your application.