Strata
Strata ist ein Protokoll zum Starten von Token, das auf Solana basiert. Sie können Strata verwenden, um jede Art von fungiblen Token zu starten, von sozialen Token bis hin zu Dao- und Gamefi-Token. Sie können auch Schichten mit allem zusammenstellen, das Festpreismechanismen verwendet, um dynamische Preismechanismen wie z. B. die Metaplex CandyMachine zu erhalten.
Ausführlichere Dokumente sind hier verfügbar . Sie können auch die GUI unter Strata Launchpad verwenden.
So erstellen Sie ein vollständig verwaltetes Token
Ein vollständig verwalteter Strata-Token ist ein Token, bei dem die Liquidität durch das Protokoll verwaltet wird. Das Ergebnis ist, dass Sie sofort einen handelbaren Token erhalten, ohne dass Pools oder Liquiditätsanbieter erforderlich sind. Ein vollständig verwaltetes Token ist ein normales spl-Token mit Metaplex-Token-Metadaten und einer zugehörigen Bindungskurve. Die Bindungskurve verwaltet die Liquidität, die Preisgestaltung und das Angebot dieses Tokens.
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()}`
);
})();
// Price = 0.01 * sqrt(Supply)
const curve = await tokenBondingSdk.initializeCurve({
config: new ExponentialCurveConfig({
c: 0.01,
b: 0,
pow: 1,
frac: 2,
}),
});
const { tokenBonding } = await tokenBondingSdk.createTokenBonding({
curve,
baseMint: NATIVE_MINT,
targetMintDecimals: 2,
buyBaseRoyaltyPercentage: 5,
buyTargetRoyaltyPercentage: 5,
});
Wie man einen Token kauft und verkauft
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,
});
})();
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,
});
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,
});
})();
await tokenBondingSdk.sell({
tokenBonding: new PublicKey("..."),
targetAmount: 0.01, // Amount of the targetMint to sell off
slippage: 0.05,
});
Wie man Liquidität aufbaut
Strata kann auch Token verkaufen, wenn Sie den Vorrat manuell verwalten möchten. Dies kann für das Liquiditäts-Bootstrapping nützlich sein, bevor Sie Ihren Token auf einem Dex auflisten. Sie können hier mehr darüber lesen oder Ihre eigenen unter Strata Launchpad starten.
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,
},
});
})();
const { tokenBonding, targetMint } =
await marketplaceSdk.createLiquidityBootstrapper({
baseMint: NATIVE_MINT,
startPrice: 0.05,
minPrice: 0.01,
interval: 5 * 60 * 60,
maxSupply: 100,
bondingArgs: {
targetMintDecimals: 0,
},
});
Other Resources
- Typescript Client Documentation - Live code examples to create and manage Strata tokens
- Strata Launchpad - Launch a token using the GUI