시작하기

대체 가능 토큰 생성하기

Last updated November 25, 2025

Token Metadata 프로그램을 사용하여 Solana에서 메타데이터가 있는 대체 가능 토큰을 생성합니다.

학습 내용

이 가이드에서는 다음을 포함한 대체 가능 토큰 생성 및 발행 방법을 설명합니다:

  • 커스텀 이름, 심볼, 메타데이터
  • 토큰 이미지와 설명
  • 설정 가능한 소수점 자릿수(분할 가능성)
  • 초기 토큰 공급량

토큰 생성하기

다음 코드는 완전히 실행 가능한 예제입니다. 아래에 커스터마이징할 수 있는 파라미터가 표시됩니다. 토큰 생성 세부 사항에 대해서는 Token Metadata 프로그램 페이지에서 자세히 알아볼 수 있습니다.

1// npm install @metaplex-foundation/mpl-token-metadata @metaplex-foundation/mpl-toolbox @metaplex-foundation/umi @metaplex-foundation/umi-bundle-defaults
2import {
3 createFungible,
4 mplTokenMetadata,
5} from '@metaplex-foundation/mpl-token-metadata'
6import {
7 createTokenIfMissing,
8 findAssociatedTokenPda,
9 mintTokensTo,
10} from '@metaplex-foundation/mpl-toolbox'
11import {
12 generateSigner,
13 keypairIdentity,
14 percentAmount,
15 some,
16} from '@metaplex-foundation/umi'
17import { createUmi } from '@metaplex-foundation/umi-bundle-defaults'
18import { readFileSync } from 'fs'
19
20// Initialize Umi with your RPC endpoint
21const umi = createUmi('https://api.devnet.solana.com').use(mplTokenMetadata())
22
23// Load your wallet keypair
24const wallet = '<your wallet file path>'
25const secretKey = JSON.parse(readFileSync(wallet, 'utf-8'))
26const keypair = umi.eddsa.createKeypairFromSecretKey(new Uint8Array(secretKey))
27umi.use(keypairIdentity(keypair))
28
29// Generate a new mint account
30const mint = generateSigner(umi)
31
32// Step 1: Create the fungible token with metadata
33await createFungible(umi, {
34 mint,
35 name: 'My Fungible Token',
36 symbol: 'MFT',
37 uri: 'https://example.com/my-token-metadata.json',
38 sellerFeeBasisPoints: percentAmount(0),
39 decimals: some(9),
40}).sendAndConfirm(umi)
41
42// Step 2: Mint initial supply to your wallet
43await createTokenIfMissing(umi, {
44 mint: mint.publicKey,
45 owner: umi.identity.publicKey,
46})
47 .add(
48 mintTokensTo(umi, {
49 mint: mint.publicKey,
50 token: findAssociatedTokenPda(umi, {
51 mint: mint.publicKey,
52 owner: umi.identity.publicKey,
53 }),
54 amount: 1_000_000_000_000_000, // 1,000,000 tokens with 9 decimals
55 })
56 )
57 .sendAndConfirm(umi)
58
59console.log('Token created:', mint.publicKey)
60console.log('Metadata and mint account initialized')
61console.log('Initial supply minted to:', umi.identity.publicKey)

파라미터

토큰에 맞게 다음 파라미터를 커스터마이징하세요:

파라미터설명
name토큰 이름 (최대 32자)
symbol토큰의 짧은 이름 (최대 6자)
uri오프체인 메타데이터 JSON 링크
sellerFeeBasisPoints로열티 비율 (550 = 5.5%)
decimals소수점 자릿수 (some(9)이 표준)
amount발행할 토큰 수

메타데이터와 이미지

uri는 최소한 다음 정보를 포함하는 JSON 파일을 가리켜야 합니다. 자세한 내용은 Token Metadata 표준 페이지에서 확인할 수 있습니다. JSON과 이미지 URL을 어디서나 접근할 수 있도록 업로드해야 합니다. Arweave와 같은 web3 스토리지 제공업체 사용을 권장합니다. 코드로 수행하려면 이 가이드를 따르세요.

{
"name": "My Fungible Token",
"symbol": "MFT",
"description": "A fungible token on Solana",
"image": "https://arweave.net/tx-hash"
}
Previous
개요