Use this file to discover all available pages before exploring further.
Base에서 토큰을 출시하는 방법은 노코드 플랫폼부터 커스텀 스마트 컨트랙트 개발까지 다양합니다. 이 가이드는 올바른 방법을 선택하는 데 도움을 주고, 두 가지 접근 방식에 대한 구현 세부 사항을 제공합니다.
플랫폼 출시
빠른 배포를 위해 Zora, Clanker, Flaunch 등 기존 플랫폼 사용
커스텀 개발
최대한의 제어를 위해 Foundry로 커스텀 ERC-20 토큰 빌드
접근 방식 선택
올바른 방법을 선택하는 데 도움이 되는 의사결정 프레임워크
모범 사례
보안, 커뮤니티 빌딩, 출시 후 가이드
대부분의 사용자에게: Zora, Clanker, Flaunch 같은 기존 토큰 출시 플랫폼을 사용하세요. 이 도구들은 기술적 복잡성을 처리하면서 다양한 사용 사례에 대한 고유한 기능을 제공합니다.개발자에게: 최대한의 제어와 커스터마이징을 위해 Foundry와 OpenZeppelin의 검증된 컨트랙트를 사용하여 커스텀 ERC-20 토큰을 빌드하세요.
최적 용도: 콘텐츠 크리에이터 및 소셜 토큰Zora는 모든 게시물을 자동 Uniswap 통합이 있는 거래 가능한 ERC-20 토큰으로 변환합니다. 각 게시물은 10억 공급량의 “코인”이 되며, 크리에이터는 1천만 토큰을 받고 모든 거래 수수료의 1%를 얻습니다.주요 기능:
최적 용도: 정교한 토크노믹스를 갖춘 고급 밈코인 프로젝트Flaunch는 Uniswap V4를 활용하여 프로그래밍 가능한 수익 분배, 자동화된 바이백, 가격 지지를 위한 Progressive Bid Wall을 가능하게 합니다. 크리에이터는 수수료 분배와 재무 관리를 커스터마이즈할 수 있습니다.주요 기능:
최적 용도: 토큰 패밀리 및 커뮤니티 주도 자산Mint Club은 누구나 기존 ERC-20 토큰을 기반으로 새 토큰 또는 NFT를 출시할 수 있게 합니다. 각 거래는 본딩 커브 풀에 부모 토큰을 잠궈 온체인 자동 관리 유동성을 생성하여 부모 토큰을 강화하면서 새로운 커뮤니티 자산을 지원합니다.주요 기능:
// SPDX-License-Identifier: MITpragma solidity ^0.8.19;import {Test, console} from "forge-std/Test.sol";import {MyToken} from "../src/MyToken.sol";contract MyTokenTest is Test { MyToken public token; address public owner = address(0x1); address public user = address(0x2); uint256 constant INITIAL_SUPPLY = 100_000_000 * 10**18; function setUp() public { // 각 테스트 전에 토큰 컨트랙트 배포 vm.prank(owner); token = new MyToken("Test Token", "TEST", INITIAL_SUPPLY, owner); } function testInitialState() public { // 올바른 매개변수로 토큰이 배포됐는지 확인 assertEq(token.name(), "Test Token"); assertEq(token.symbol(), "TEST"); assertEq(token.totalSupply(), INITIAL_SUPPLY); assertEq(token.balanceOf(owner), INITIAL_SUPPLY); } function testMinting() public { uint256 mintAmount = 1000 * 10**18; // 소유자만 발행할 수 있어야 함 vm.prank(owner); token.mint(user, mintAmount); assertEq(token.balanceOf(user), mintAmount); assertEq(token.totalSupply(), INITIAL_SUPPLY + mintAmount); } function testBurning() public { uint256 burnAmount = 1000 * 10**18; // 소유자가 자신의 토큰 소각 vm.prank(owner); token.burn(burnAmount); assertEq(token.balanceOf(owner), INITIAL_SUPPLY - burnAmount); assertEq(token.totalSupply(), INITIAL_SUPPLY - burnAmount); } function testFailMintExceedsMaxSupply() public { // 최대 공급량을 초과하여 발행하려 할 때 이 테스트는 실패해야 함 uint256 excessiveAmount = token.MAX_SUPPLY() + 1; vm.prank(owner); token.mint(user, excessiveAmount); } function testFailUnauthorizedMinting() public { // 소유자가 아닌 사용자가 발행하려 할 때 이 테스트는 실패해야 함 vm.prank(user); token.mint(user, 1000 * 10**18); }}
속도와 편의를 위한 플랫폼 기반 접근 방식을 선택하든, 최대한의 제어를 위한 커스텀 개발을 선택하든, Base는 토큰 출시를 위한 강력한 기반을 제공합니다. 기술적 전문성과 프로젝트 요구사항에 가장 적합한 접근 방식으로 시작하고, Base의 성장하는 에코시스템을 활용하여 성공적인 토큰 프로젝트를 빌드하세요.