The Alliance module is designed to enhance the Furya blockchain by enabling staking of external assets. This module allows various tokens, aside from the native FURY token, to be staked and earn rewards, fostering greater interoperability and value accrual within the ecosystem.

Features

  • External Asset Staking: Stake external assets alongside native FURY tokens.
  • Interoperability: Support for a wide range of assets from different blockchains.
  • Reward Distribution: Earn staking rewards in multiple asset types.
  • Governance: Integrate external assets into the Furya governance framework.

Concepts

1. Alliances

Alliances refer to partnerships with other blockchains or projects, allowing their native tokens to be staked within the Furya network. These alliances expand the utility and reach of the Furya ecosystem.

2. External Asset Staking

External assets can be staked using the same mechanisms as native FURY tokens. Validators and delegators can participate in staking, earning rewards proportional to their stakes.

3. Reward Distribution

Rewards are distributed based on the staking ratio and the type of asset staked. The module ensures fair distribution and supports multiple asset reward types.

Staking External Assets

To stake external assets, follow these steps:

  1. Deposit Assets: Transfer the external asset to the Furya network.
  2. Delegate Stake: Delegate the deposited assets to a validator.
  3. Earn Rewards: Receive rewards based on the amount staked and the performance of the validator.

Governance

External assets integrated through the Alliance module are subject to Furya’s governance. Token holders can propose and vote on changes, ensuring a decentralized and community-driven approach.

Example

Here’s an example of how to stake an external asset using the Alliance module:

// Import required libraries
const { SigningStargateClient } = require("@cosmjs/stargate");
const { assertIsBroadcastTxSuccess } = require("@cosmjs/stargate/build/stargateclient");

async function stakeExternalAsset() {
  const rpcEndpoint = "https://rpc.furya.network";
  const client = await SigningStargateClient.connectWithSigner(rpcEndpoint, signer);

  const msg = {
    typeUrl: "/cosmos.staking.v1beta1.MsgDelegate",
    value: {
      delegatorAddress: "your-furya-address",
      validatorAddress: "validator-address",
      amount: {
        denom: "external-asset-denom",
        amount: "amount-to-stake",
      },
    },
  };

  const fee = {
    amount: [{
      denom: "fury",
      amount: "500",
    }],
    gas: "200000",
  };

  const result = await client.signAndBroadcast("your-furya-address", [msg], fee);
  assertIsBroadcastTxSuccess(result);

  console.log("Stake successful:", result);
}

stakeExternalAsset().catch(console.error);

Read full Documentation on Alliance.