Skip to content

지갑 관리 가이드

FlutterDev 블록체인은 두 가지 지갑 옵션을 제공합니다:

  • FlutterWallet - 웹 기반 지갑 (추천)
  • Admin Panel - 개발/테스트용 지갑 관리

FlutterWallet (추천)

URL: https://wallet.flutterdev.online

FlutterWallet은 NEAR Wallet과 유사한 웹 기반 지갑입니다. DEX, Lending 등 dApp과 자동으로 연동됩니다.

지갑 생성

  1. wallet.flutterdev.online 접속
  2. 새 지갑 만들기 클릭
  3. 비밀번호 설정 (8자 이상)
  4. 복구 문구(Mnemonic) 백업 - 매우 중요!
  5. 복구 문구 확인
  6. 지갑 생성 완료

복구 문구 백업

복구 문구는 지갑을 복구하는 유일한 방법입니다. 반드시 안전한 곳에 기록해두세요.

기존 지갑 가져오기

  1. 시작 화면에서 기존 지갑 복구 클릭
  2. 복구 문구 12단어 입력
  3. 새 비밀번호 설정
  4. 가져오기 완료

dApp 연결하기

FlutterWallet은 FlutterDex, FlutterLend 등과 자동으로 연동됩니다.

┌─────────────────────────────────────────────────────────────┐
│                        연결 흐름                             │
│                                                             │
│  1. dApp에서 "Connect Wallet" 클릭                          │
│                    ↓                                        │
│  2. FlutterWallet으로 자동 이동                             │
│                    ↓                                        │
│  3. 지갑 잠금 해제 (비밀번호 입력)                           │
│                    ↓                                        │
│  4. 연결 승인/거부 선택                                      │
│                    ↓                                        │
│  5. dApp으로 자동 복귀 (주소 전달)                          │
└─────────────────────────────────────────────────────────────┘

트랜잭션 승인

dApp에서 트랜잭션 요청 시 FlutterWallet에서 승인합니다:

┌─────────────────────────────────────────────────────────────┐
│                     트랜잭션 승인 화면                        │
│                                                             │
│  요청 사이트: dex.flutterdev.online                         │
│                                                             │
│  ┌─────────────────────────────────────┐                    │
│  │ 보내는 계정:  0x1234...5678         │                    │
│  │ 받는 주소:    0xabcd...efgh         │                    │
│  │ 전송 금액:    1.5 ETH               │                    │
│  └─────────────────────────────────────┘                    │
│                                                             │
│        [ 거부 ]              [ 승인 ]                        │
└─────────────────────────────────────────────────────────────┘

토큰 전송

  1. 지갑 메인 화면에서 보내기 클릭
  2. 받는 주소 입력
  3. 토큰 선택 (ETH, FDT, USDC, DAI)
  4. 금액 입력
  5. 전송 클릭

계정 관리

  • 계정 추가: 설정 > 계정 관리 > 새 계정 추가
  • 계정 전환: 상단 계정 선택기 클릭
  • 주소 복사: 주소 옆 복사 버튼 클릭

Admin Panel

URL: https://flutterdev.online/admin

개발자용

Admin Panel은 개발/테스트 목적으로 사용됩니다. 일반 사용자는 FlutterWallet을 사용하세요.

프리펀드 지갑

시스템에 미리 생성된 테스트용 지갑들이 있으며, 각각 10억 ETH가 들어있습니다.

지갑 목록 확인

  1. Admin Panel 접속
  2. Wallets 섹션에서 전체 지갑 목록 확인
  3. 각 지갑의 주소와 잔액 표시

지갑 상세 정보

지갑 클릭 시:

  • Address: 지갑 주소
  • Balance: ETH 잔액
  • Private Key: 개인키 (복사 가능)

새 지갑 생성

Admin Panel에서 생성

  1. Create Wallet 버튼 클릭
  2. 지갑 이름 입력 (선택)
  3. 자동으로 새 지갑 생성
  4. Mnemonic phrase 표시 (한 번만 표시됨, 반드시 백업)

프로그래밍으로 생성

javascript
const { ethers } = require('ethers');

// 새 지갑 생성
const wallet = ethers.Wallet.createRandom();
console.log('Address:', wallet.address);
console.log('Private Key:', wallet.privateKey);
console.log('Mnemonic:', wallet.mnemonic.phrase);

지갑 가져오기

Private Key로 가져오기

  1. Admin Panel에서 Import Wallet 클릭
  2. Private Key 입력
  3. 지갑 이름 입력 (선택)
  4. Import 클릭

Mnemonic으로 복구

javascript
const { ethers } = require('ethers');

const mnemonic = "your twelve word mnemonic phrase here";
const wallet = ethers.Wallet.fromPhrase(mnemonic);
console.log('Address:', wallet.address);
console.log('Private Key:', wallet.privateKey);

ETH 전송

Admin Panel에서 전송

  1. 지갑 선택
  2. Send 버튼 클릭
  3. 받는 주소 입력
  4. 전송할 금액 입력
  5. Send Transaction 클릭

API로 전송

bash
curl -X POST https://flutterdev.online/api/send \
  -H "Content-Type: application/json" \
  -d '{
    "fromWalletId": 1,
    "toAddress": "0x...",
    "amount": "1.5"
  }'

ethers.js로 전송

javascript
const { ethers } = require('ethers');

const provider = new ethers.JsonRpcProvider('https://rpc.flutterdev.online');
const wallet = new ethers.Wallet('YOUR_PRIVATE_KEY', provider);

const tx = await wallet.sendTransaction({
  to: '0x...',
  value: ethers.parseEther('1.0')
});

console.log('TX Hash:', tx.hash);
await tx.wait();
console.log('Transaction confirmed');

잔액 확인

Admin Panel

지갑 목록에서 실시간 잔액 표시

API

bash
curl https://flutterdev.online/api/balance/0x...

ethers.js

javascript
const balance = await provider.getBalance('0x...');
console.log('Balance:', ethers.formatEther(balance), 'ETH');

MetaMask 연동

계정 가져오기

  1. MetaMask 열기
  2. 계정 아이콘 → Import Account
  3. Private Key 붙여넣기
  4. Import 클릭

네트워크 설정

network.md 문서 참조

보안 주의사항

  1. Private Key 관리

    • Private Key는 절대 공개하지 마세요
    • 안전한 장소에 백업하세요
    • 테스트넷이라도 실제 자금처럼 관리하세요
  2. Mnemonic 백업

    • 생성 시 표시되는 Mnemonic은 한 번만 표시됩니다
    • 반드시 안전한 곳에 기록해두세요
  3. 테스트 전용

    • 이 플랫폼은 개발/테스트 용도입니다
    • 실제 자산을 보관하지 마세요

데이터베이스 직접 접근

PostgreSQL에 직접 접근이 필요한 경우:

bash
# Docker 컨테이너 접속
docker exec -it admin-db psql -U admin -d wallet_manager

# 지갑 목록 조회
SELECT id, name, address, created_at FROM wallets;

# 특정 지갑 상세 (Private Key 포함)
SELECT * FROM wallets WHERE id = 1;

트랜잭션 기록

조회

bash
curl https://flutterdev.online/api/transactions

데이터베이스 직접 조회

sql
SELECT * FROM transactions ORDER BY created_at DESC LIMIT 100;

FlutterDev Private Blockchain Platform