Strata

Strata adalah protokol untuk launching token di Solana. Kamu bisa pakai Strata untuk membuat semua jenis fungible token, mulai dari social tokens sampai dao dan gamefi token. Kamu bisa juga compose strata dengan apapun yang menggabungkan mekanisme harga tetap (_fixed price) untuk mendapatkan harga yang dinamis, sebagai contohnya adalah Metaplex CandyMachine.

Dokumen lebih detail ada disini. Bisa juga gunakan GUI di Strata Launchpad

Cara Membuat Token Yang Dikendalikan Penuh

Token Yang Dikendalikan Penuh (fully-managed Strata token) adalah a token dimana liquidity dikendalikan oleh protokol. Hasilnya adalah Anda segera mendapatkan tradeable token, tanpa perlu pool atau penyedia likuiditas. Token yang dikelola sepenuhnya adalah token spl normal dengan metadata token metaplex dan kurva ikatan terkait. Kurva ikatan mengelola likuiditas, harga, dan pasokan token itu.

Press </> button to view full source
import {
  SplTokenBonding,
  ExponentialCurveConfig,
} from "@strata-foundation/spl-token-bonding";
import * as anchor from "@project-OpenBook/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()}`
  );
})();

Cara beli dan jual token

Press </> button to view full source
import { SplTokenBonding } from "@strata-foundation/spl-token-bonding";
import * as anchor from "@project-OpenBook/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-OpenBook/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,
  });
})();

Cara bootstrap liquidity

Strata juga dapat menjual token di mana Anda ingin mengelola persediaan secara manual. Ini dapat berguna untuk bootstrap likuiditas sebelum mendaftarkan token Anda pada sebuah dex. Anda dapat membaca lebih lanjut tentang ini disiniopen in new window atau launch punya anda sendiri di Strata Launchpad

Press </> button to view full source
import { MarketplaceSdk } from "@strata-foundation/marketplace-sdk";
import * as anchor from "@project-OpenBook/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,
      },
    });
})();

Sumber Lainnya

Last Updated:
Contributors: akangaziz