ERGO
10분 이내

첫 에이전트 결제
Ergo testnet에서.

이론 없음. 셋업 의식 없음. npm 패키지 하나, 30줄, 명령어 하나 — Ergo testnet 탐색기에서 실제 트랜잭션을 확인하세요.

bash
npm install @fleet-sdk/core

사전 요구사항

  • Node.js 18+ 설치됨
  • testnet 주소 (Nautilus 지갑 → 설정 → testnet 모드에서 생성)
  • testnet.ergofaucet.org에서 testnet ERG 받기
  • 집중할 수 있는 5분
01

Fleet SDK 설치

~30초
bash
mkdir my-agent && cd my-agent
npm init -y
npm install @fleet-sdk/core node-fetch

Fleet SDK는 Ergo의 공식 TypeScript/JS SDK입니다. Node.js와 브라우저에서 작동합니다.

02

agent-pay.js 생성

~2분
javascript
// agent-pay.js
import { TransactionBuilder, OutputBuilder, SAFE_MIN_BOX_VALUE } from "@fleet-sdk/core";

// ── Config ───────────────────────────────────────────────────────────────────
const TESTNET_API = "https://api-testnet.ergoplatform.com";
const YOUR_ADDRESS = "YOUR_TESTNET_ADDRESS";  // paste your testnet address
const RECEIVER_ADDRESS = "3WwbzW6u8hKWBcL1W7kNVMr25s2UHfSBnYtwSHvrRQt7DdPuoXrt"; // testnet receiver

// ── 1. Fetch unspent boxes ────────────────────────────────────────────────────
const res = await fetch(
  `${TESTNET_API}/api/v1/boxes/unspent/byAddress/${YOUR_ADDRESS}`
);
const { items: inputs } = await res.json();

// ── 2. Build transaction ──────────────────────────────────────────────────────
const unsignedTx = new TransactionBuilder(await getCurrentHeight())
  .from(inputs)
  .to(
    new OutputBuilder("1000000", RECEIVER_ADDRESS) // 0.001 ERG
  )
  .sendChangeTo(YOUR_ADDRESS)
  .payMinFee()
  .build()
  .toEIP12Object();

console.log("Unsigned TX:", JSON.stringify(unsignedTx, null, 2));
// → Sign with Nautilus wallet or server-side key, then submit

async function getCurrentHeight() {
  const r = await fetch(`${TESTNET_API}/api/v1/info`);
  const info = await r.json();
  return info.fullHeight;
}

이 스크립트는 testnet UTxO를 가져오고, 트랜잭션을 구축하며, 미서명 TX 객체를 출력합니다.

03

스크립트 실행

~10초
bash
node agent-pay.js

미서명 트랜잭션 JSON이 표시됩니다. Nautilus(브라우저) 또는 서버사이드 키로 서명한 후 /api/v1/transactions에 POST하세요.

04

Note(에이전트 결제) 추가

~5분
javascript
// Note payment — agent pays for an API call
import { TransactionBuilder, OutputBuilder, SByte, SColl } from "@fleet-sdk/core";

const TASK_HASH = "a1b2c3d4..."; // blake2b256 of task output

const noteOutput = new OutputBuilder("5000000", RECEIVER_ADDRESS)  // 0.005 ERG
  .setAdditionalRegisters({
    R4: SColl(SByte, Buffer.from(TASK_HASH, "hex")),   // task hash
    R5: SByte(await getCurrentHeight() + 100),          // expiry: +100 blocks
  });

const tx = new TransactionBuilder(await getCurrentHeight())
  .from(inputs)
  .to(noteOutput)
  .sendChangeTo(YOUR_ADDRESS)
  .payMinFee()
  .build();

기본 TX를 확장하여 Note — 태스크 해시 레지스터가 있는 무기명 증서 — 를 생성합니다. 수신자는 Reserve에 대해 상환합니다.

탐색기에서 TX 확인

제출 후 트랜잭션이 Ergo testnet 탐색기에 표시됩니다. TX ID를 여기에 붙여넣으세요:

https://testnet.ergoplatform.com/transactions/{TX_ID}

더 깊이 들어갈 준비가 되셨나요?

퀵스타트로 시작하세요. 완전한 아키텍처 레퍼런스와 7단계 Playbook이 기다리고 있습니다.

Follow for daily updates