Strata

Strata est un protocole permettant de lancer des jetons construit sur Solana. Vous pouvez utiliser Strata pour lancer tout type de jeton fongible, allant des jetons sociaux aux jetons dao et gamefi. Vous pouvez également utiliser Strata avec n'importe quel mécanisme de prix fixe pour obtenir un mécanisme de prix dynamique, comme par exemple la CandyMachine de Metaplex.

Des documents plus détaillés sont disponibles ici. Vous pouvez également utiliser l'interface graphique (GUI) de Strata Launchpad

Comment créer un jeton entièrement géré

Un jeton Strata entièrement géré est un jeton dont la liquidité est gérée par le protocole. Le résultat est que vous obtenez immédiatement un jeton tradable, sans avoir besoin de pools ou de fournisseurs de liquidités. Un jeton entièrement géré est un jeton spl classique avec des métadonnées de jeton Metaplex et une courbe de liaison (bonding curve) associée. La courbe de liaison gère la liquidité, le prix et l'offre de ce jeton.

Press </> button to view full source
import {
  SplTokenBonding,
  ExponentialCurveConfig,
} from "@strata-foundation/spl-token-bonding";
import * as anchor from "@project-serum/anchor";
import { NATIVE_MINT } from "@solana/spl-token";

(async () => {
  const provider = anchor.getProvider();
  const tokenBondingSdk = await SplTokenBonding.init(provider);

  // Price = 0.01 * sqrt(Supply)
  const curve = await tokenBondingSdk.initializeCurve({
    config: new ExponentialCurveConfig({
      c: 0.01,
      b: 0,
      pow: 1,
      frac: 2,
    }),
  });
  const { tokenBonding, baseMint, targetMint } =
    await tokenBondingSdk.createTokenBonding({
      curve,
      baseMint: NATIVE_MINT,
      targetMintDecimals: 2,
      buyBaseRoyaltyPercentage: 5,
      buyTargetRoyaltyPercentage: 5,
    });

  console.log(
    `You can use ${baseMint.toBase58()} to buy ${targetMint.toBase58()} using the bonding curve at address ${tokenBonding.toBase58()}`
  );
})();

Comment acheter et vendre un jeton

Press </> button to view full source
import { SplTokenBonding } from "@strata-foundation/spl-token-bonding";
import * as anchor from "@project-serum/anchor";

(async () => {
  const provider = anchor.getProvider();
  const tokenBondingSdk = await SplTokenBonding.init(provider);
  await tokenBondingSdk.buy({
    tokenBonding: new PublicKey("..."),
    baseAmount: 0.01, // Amount of the baseMint from create token to use for this purchase.
    slippage: 0.05,
  });
  await tokenBondingSdk.buy({
    tokenBonding: new PublicKey("..."),
    desiredTargetAmount: 0.01, // Purchase instead using the amount of targetMint you want to receive
    slippage: 0.05,
  });
})();
Press </> button to view full source
import { SplTokenBonding } from "@strata-foundation/spl-token-bonding";
import * as anchor from "@project-serum/anchor";

(async () => {
  const provider = anchor.getProvider();
  const tokenBondingSdk = await SplTokenBonding.init(provider);
  await tokenBondingSdk.sell({
    tokenBonding: new PublicKey("..."),
    targetAmount: 0.01, // Amount of the targetMint to sell off
    slippage: 0.05,
  });
})();

Comment initier la liquidité

Strata peut également vendre des jetons lorsque vous souhaitez gérer manuellement son offre. Cela peut être utile pour l'initiation de la liquidité avant de lister votre jeton sur un dex. Vous pouvez en savoir plus à ce sujet iciopen in new window ou lancez vôtre jeton sur Strata Launchpad

Press </> button to view full source
import { MarketplaceSdk } from "@strata-foundation/marketplace-sdk";
import * as anchor from "@project-serum/anchor";

(async () => {
  const provider = anchor.getProvider();
  const marketplaceSdk = await MarketplaceSdk.init(provider);
  const { tokenBonding, targetMint } =
    await marketplaceSdk.createLiquidityBootstrapper({
      baseMint: NATIVE_MINT,
      startPrice: 0.05,
      minPrice: 0.01,
      interval: 5 * 60 * 60,
      maxSupply: 100,
      bondingArgs: {
        targetMintDecimals: 0,
      },
    });
})();

Autres Ressources

Last Updated:
Contributors: cryptoloutre