Prasyarat

Alat yang Diperlukan

  • Node.js 18+ - JavaScript runtime
  • pnpm (direkomendasikan) atau npm/yarn - Manajer paket
  • Git - Kontrol versi
  • Wallet dengan Base ETH - Untuk penyebaran dan transaksi

Opsi Mulai Cepat

Instal SDK

pnpm add @b3dotfun/sdk

Pengaturan Proyek

# Buat proyek baru
mkdir my-bondkit-app
cd my-bondkit-app
pnpm init

# Instal dependensi
pnpm add @b3dotfun/sdk typescript
pnpm add -D @types/node tsx

# Buat konfigurasi TypeScript
npx tsc --init

Konfigurasi Lingkungan

Pengaturan Dasar

Buat file .env di akar proyek Anda:
# Diperlukan untuk operasi sisi server
WALLET_PRIVATE_KEY=0x...

# Opsional: Endpoint RPC kustom (default ke publik)
RPC_URL=https://base-mainnet.g.alchemy.com/v2/YOUR_KEY

# Opsional: Konfigurasi API
BONDKIT_API_ENDPOINT=https://api.b3.fun

Praktik Keamanan Terbaik

Jangan pernah commit private keys ke kontrol versi!
  • Tambahkan .env ke .gitignore Anda
  • Gunakan variabel lingkungan di produksi
  • Pertimbangkan menggunakan layanan manajemen kunci
  • Gunakan wallet terpisah untuk pengembangan dan produksi

Inisialisasi Klien

Pengaturan Dasar

import { BondkitTokenFactory } from "@b3dotfun/sdk/bondkit";
import { base } from "viem/chains";

// Untuk penggunaan sisi server dengan private key
const factory = new BondkitTokenFactory(
  base.id, 
  process.env.WALLET_PRIVATE_KEY
);

// Untuk penggunaan sisi klien dengan penyedia wallet
const clientFactory = new BondkitTokenFactory(base.id);
await clientFactory.connect(window.ethereum);

Konfigurasi Lanjutan

import { 
  BondkitTokenFactory, 
  BondkitToken,
  getConfig 
} from "@b3dotfun/sdk/bondkit";
import { createWalletClient, custom } from "viem";
import { base } from "viem/chains";

// Pengaturan klien wallet kustom
const walletClient = createWalletClient({
  chain: base,
  transport: custom(window.ethereum)
});

// Inisialisasi dengan konfigurasi kustom
const config = getConfig(base.id);
const factory = new BondkitTokenFactory(base.id);

// Terhubung dengan klien wallet kustom
await factory.connect(walletClient.transport);

// Bekerja dengan token yang ada
const token = new BondkitToken(
  "0x123...", // alamat token
  process.env.WALLET_PRIVATE_KEY
);

Konfigurasi TypeScript

tsconfig.json yang direkomendasikan untuk proyek BondKit:
{
  "compilerOptions": {
    "target": "ES2020",
    "module": "ESNext",
    "lib": ["ES2020", "DOM"],
    "moduleResolution": "node",
    "strict": true,
    "esModuleInterop": true,
    "skipLibCheck": true,
    "forceConsistentCasingInFileNames": true,
    "resolveJsonModule": true,
    "allowJs": true,
    "noEmit": true
  },
  "include": ["src/**/*"],
  "exclude": ["node_modules"]
}

Menguji Pengaturan Anda

Buat file tes test-bondkit.ts:
import { BondkitTokenFactory } from "@b3dotfun/sdk/bondkit";
import { base } from "viem/chains";

async function testConnection() {
  try {
    const factory = new BondkitTokenFactory(base.id);
    const implementationAddress = await factory.getImplementationAddress();
    
    console.log("✅ BondKit SDK terhubung dengan sukses!");
    console.log("Alamat implementasi:", implementationAddress);
  } catch (error) {
    console.error("❌ Gagal terhubung:", error);
  }
}

testConnection();
Jalankan tes:
npx tsx test-bondkit.ts

Langkah Selanjutnya

Pemecahan Masalah