1) ์ค๋น๋ฌผ
- ๋ธ๋ผ์ฐ์ + MetaMask ๋๋ Trust Wallet
- ๋คํธ์ํฌ:
- Binance Smart Chain Mainnet (Chain ID: 56) - ์ค์ ์ด์ ๋คํธ์ํฌ
- ์ปจํธ๋ํธ ์ฃผ์
- ์ถฉ๋ถํ BNB (๊ฐ์ค๋น์ฉ)
- ๋ฉ์ธ๋ท: ์ค์ BNB ํ์ (๊ฑฐ๋์์์ ๊ตฌ๋งค ๊ฐ๋ฅ)
2) ์ด๊ธฐ ์ค์
- smartcontract.js์ ์ปจํธ๋ํธ ์ฃผ์๋ฅผ ์
๋ ฅํฉ๋๋ค.
- index.html์ ์ด๊ณ ์๋จ์์ BSC ๋ฉ์ธ๋ท ์ ํ โ ์ง๊ฐ ์ฐ๊ฒฐ์ ์งํํฉ๋๋ค.
- ์ฐ์ธก ์๋จ์ ๊ถํ ๋ ๋ฒจ์ด
OWNER์ธ์ง ํ์ธํฉ๋๋ค.
- ๋คํธ์ํฌ ์๋ ์ ํ: ์ ํํ ๋คํธ์ํฌ์ ์ง๊ฐ์ด ๋ค๋ฅด๋ฉด ์๋์ผ๋ก ์ ํ์ ์์ฒญํฉ๋๋ค.
3) ์ปจํธ๋ํธ ์ํ
ํ์ฌ ํ ํฐ ์ํ๋ฅผ ํ๋์ ํ์ธํ๋ ์น์
์
๋๋ค. ์ํ ์๋ก๊ณ ์นจ์ผ๋ก ์ต์ ์ํ๋ฅผ ๊ฐ์ ธ์ค๊ณ , ๋น ๋ฅธ ์ ์ด ๋ฒํผ์ผ๋ก pause,
unpause๋ฅผ ์ฆ์ ์ ํํ ์ ์์ต๋๋ค.
- name: HANA World, symbol: HWT, decimals: 18
- totalSupply (์ด ๋ฐํ๋): 1,000,000,000 HWT
- paused (์ผ์์ ์ง ์ฌ๋ถ)
- owner (์ปจํธ๋ํธ ์์ ์)
4) Lockup ๊ด๋ฆฌ
โ ๏ธ ๋งค์ฐ ์ค์: ๋ฝ์
์ "๋ฎ์ด์ฐ๊ธฐ" ๋ฐฉ์์
๋๋ค!
setLockup()๊ณผ decreaseLockAmount()๋ ๊ธฐ์กด ๊ฐ์ ์์ ํ ์๋ก์ด ๊ฐ์ผ๋ก ๊ต์ฒดํฉ๋๋ค!
- ์๋๋ฆฌ์ค 1:
- ํ์ฌ ๋ฝ์
: 1000 HWT
- setLockup(์ฃผ์, ์๊ฐ, 100)์ ์คํ
- ์ต์ข
๊ฒฐ๊ณผ: 100 HWT (โ 1100 ์๋!)
- ์๋๋ฆฌ์ค 2 (๊ฐ์):
- ํ์ฌ ๋ฝ์
: 1000 HWT
- decreaseLockAmount(์ฃผ์, 700)์ ์คํ
- ์ต์ข
๊ฒฐ๊ณผ: 700 HWT (โ 300 ์๋!)
- ์๋๋ฆฌ์ค 3 (๋ถ๋ถ ํด์ - ์ฐจ๊ฐ ๋ฐฉ์):
- ํ์ฌ ๋ฝ์
: 1000 HWT
- releaseLockup(์ฃผ์, 300)์ ์คํ
- ์ต์ข
๊ฒฐ๊ณผ: 700 HWT (โ
์ฐจ๊ฐ๋จ!)
๐ก ํต์ฌ ์์ฝ:
setLockup(): ์์ ํ ์๋ก์ด ๋ฝ์
์ผ๋ก ๊ต์ฒด
decreaseLockAmount(): ์๋ก์ด ์๋์ผ๋ก ๊ต์ฒด (ํ์ฌ๋ณด๋ค ์์์ผ ํจ)
releaseLockup(): ์
๋ ฅํ ์๋๋งํผ ์ฐจ๊ฐ (์ ์ผํ๊ฒ ๋นผ๊ธฐ ๋ฐฉ์)
extendLockup(): ์๊ฐ๋ง ์ถ๊ฐ (์๋ ๋ถ๋ณ, ๋ง๋ฃ ์ ์๋ง ๊ฐ๋ฅ)
๐ ๊ฐ ๋ฝ์
ํจ์ ์์ธ ์ค๋ช
- ์ ๋ฝ์
์ค์ (setLockup): ํน์ ์ฃผ์์ ํ ํฐ์ ์ผ์ ๊ธฐ๊ฐ ๋์ ์ ๊ธ๋๋ค
- ์๊ฐ: ๋ถ ๋จ์๋ก ์
๋ ฅ (์ ์๋ง ๊ฐ๋ฅ)
- ์๋: ์์์ ์
๋ ฅ ๊ฐ๋ฅ (์: 100.5 HWT)
- ๊ธฐ์กด ๋ฝ์
์ด ์์ผ๋ฉด ์์ ํ ์ ๊ฐ์ผ๋ก ๊ต์ฒด๋จ!
- ๋ฝ์
์ฐ์ฅ (extendLockup): ๊ธฐ์กด ๋ฝ์
๊ธฐ๊ฐ์ ์ถ๊ฐ๋ก ์ฐ์ฅํฉ๋๋ค (๋ถ ๋จ์ ์ ์)
- ์๋์ ๋ณ๊ฒฝ๋์ง ์๊ณ ์๊ฐ๋ง ์ถ๊ฐ๋ฉ๋๋ค
- ๋ฝ์
์ด ์๋ ์ฃผ์์๋ ์ฌ์ฉ ๋ถ๊ฐ
- ๋ง๋ฃ๋ ๋ฝ์
์ ์ฐ์ฅ ๋ถ๊ฐ (LockupExpired ์๋ฌ ๋ฐ์)
- ๋ฝ์
์๋ ๊ฐ์ (decreaseLockAmount): ๋ฝ์
๋ ์๋์ ์ค์
๋๋ค
- ์์์ ๊ฐ๋ฅ, 0์ผ๋ก ์ค์ ์ ์ ์ฒด ํด์
- ํ์ฌ ์๋๋ณด๋ค ์์ ๊ฐ๋ง ๊ฐ๋ฅํ๋ฉฐ, ๊ธฐ์กด ๊ฐ์์ ๋นผ๋ ๊ฒ์ด ์๋๋ผ ์ ๊ฐ์ผ๋ก ๊ต์ฒด!
- ์: 1000 โ 700 ์
๋ ฅ โ ์ต์ข
700 (300์ด ์๋!)
- ๋ฝ์
๋ถ๋ถ ํด์ (releaseLockup): ๋ฝ์
์ค ์ผ๋ถ ์๋๋ง ํด์ ํฉ๋๋ค
- ์์์ ๊ฐ๋ฅ
- ์
๋ ฅํ ์๋๋งํผ ๊ธฐ์กด ๋ฝ์
์์ ์ฐจ๊ฐ๋ฉ๋๋ค (์ ์ผํ ๋นผ๊ธฐ ๋ฐฉ์!)
- ์: 1000 ๋ฝ์
โ 300 ํด์ โ ์ต์ข
700 ๋ฝ์
- ๋ง๋ฃ๋ ๋ฝ์
์ ๊ฑฐ (clearExpiredLockup): ๊ธฐ๊ฐ์ด ๋ง๋ฃ๋ ๋ฝ์
์ ๋ณด๋ฅผ ์ญ์ ํฉ๋๋ค
- ํ์ ์์
์ด ์๋๋๋ค - ๋ง๋ฃ๋๋ฉด ์๋์ผ๋ก ํจ๋ ฅ์ด ์์ด์ง๋๋ค
- ๋จ์ง ์ปจํธ๋ํธ ์ ์ฅ์๋ฅผ ๊น๋ํ๊ฒ ์ ๋ฆฌํ๋ ์ฉ๋
- ๋ง๋ฃ๋์ง ์์ ๋ฝ์
์๋ ์ฌ์ฉ ๋ถ๊ฐ (์๋ฌ ๋ฐ์)
๋ณด์: Owner๋ง ๋ฝ์
๊ด๋ฆฌ ๊ธฐ๋ฅ์ ์คํํ ์ ์์ต๋๋ค.
๐ก ๋ฝ์
์๊ฐ ์์
| ๊ธฐ๊ฐ |
๋ถ(Minutes) |
์ฉ๋ |
| 1์๊ฐ |
60 |
ํ
์คํธ์ฉ |
| 1์ผ |
1,440 |
๋จ๊ธฐ ๋ฝ์
|
| 1์ฃผ์ผ |
10,080 |
์ผ์ฃผ์ผ ์ด๋ฒคํธ |
| 1๊ฐ์(30์ผ) |
43,200 |
์๊ฐ ๋ฒ ์คํ
|
| 1๋
(365์ผ) |
525,600 |
์ฅ๊ธฐ ๋ฒ ์คํ
|
๐ฐ ํ ํฐ ์๋ ์์ (์์์ ๊ฐ๋ฅ)
- ์ ์: 100 HWT, 1000 HWT, 1000000 HWT
- ์์์ 1์๋ฆฌ: 100.5 HWT, 999.9 HWT
- ์์์ 2์๋ฆฌ: 99.99 HWT, 1234.56 HWT
- ์์์ ๋ง์ ์๋ฆฌ: 123.456789 HWT, 0.00001 HWT
5) Lockup ์กฐํ
- ๋ฝ์
์ ๋ณด ํ์ธ: ์ฃผ์์ ๋ฝ์
์๋, ๋จ์ ์๊ฐ, ๋ง๋ฃ ์๊ฐ ์กฐํ
- ์ฌ์ฉ ๊ฐ๋ฅ ์์ก ํ์ธ: ์ ์ฒด ์์ก ์ค ๋ฝ์
๋์ง ์์ ์๋ ์กฐํ
- ๊ฐ์ค๋น๊ฐ ๋ค์ง ์๋ ์กฐํ ํจ์์
๋๋ค
6) ํ ํฐ ์ ์ก
- ์์ ์ ํ ํฐ์ ๋ค๋ฅธ ์ฃผ์๋ก ์ ์กํฉ๋๋ค
- ๋ฝ์
๋ ํ ํฐ์ ์ ์กํ ์ ์์ต๋๋ค
- ์ ์ก์๋ ์ถฉ๋ถํ ์์ก๊ณผ BNB(๊ฐ์ค๋น)๋ฅผ ๋ณด์ ํด์ผ ํฉ๋๋ค
7) ํ ํฐ ์๊ฐ
- ์๊ฐ: ์์ ์ ํ ํฐ์ ์๊ตฌ์ ์ผ๋ก ์ ๊ฑฐํฉ๋๋ค
- ์๊ฐ๋ ํ ํฐ์ ๋ณต๊ตฌํ ์ ์์ผ๋ฏ๋ก ์ ์คํ๊ฒ ์ฌ์ฉํ์ธ์
- ์ด ๊ณต๊ธ๋์ด ๊ฐ์ํฉ๋๋ค
8) ํ ํฐ ์ ๋ณด ์กฐํ
- ํ ํฐ ์์ก ์กฐํ: ํน์ ์ฃผ์์ HWT ๋ณด์ ๋ ํ์ธ
- ๊ฐ์ค๋น๊ฐ ๋ค์ง ์๋ ์ฝ๊ธฐ ์ ์ฉ ํจ์์
๋๋ค
์ค๋ฅ ํด๊ฒฐ
- "Cannot read properties of undefined (reading 'eth')"
- ์์ธ: ์ง๊ฐ์ด ์ฐ๊ฒฐ๋์ง ์์ ์ํ์์ ์กฐํ ๊ธฐ๋ฅ ์ฌ์ฉ
- ํด๊ฒฐ: ๋จผ์ MetaMask ๋๋ Trust Wallet ์ง๊ฐ์ ์ฐ๊ฒฐํ ํ ์กฐํํ์ธ์
- "ํ์ฌ ๋คํธ์ํฌ์์ ์ปจํธ๋ํธ๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค"
- ์์ธ: ์๋ชป๋ ๋คํธ์ํฌ ์ ํ ๋๋ ์ปจํธ๋ํธ ์ฃผ์ ๋ถ์ผ์น
- ํด๊ฒฐ: smartcontract.js์ ์ฃผ์์ BSC ๋ฉ์ธ๋ท(Chain ID: 56) ์ ํ์ ํ์ธํ์ธ์
- "๊ฐ์ค ์ถ์ ์ ์คํจํ์ต๋๋ค"
- ์์ธ: ์
๋ ฅ๊ฐ ์ค๋ฅ, ๊ถํ ๋ถ์กฑ, ๋๋ ์ปจํธ๋ํธ ์ํ ๋ฌธ์
- ํด๊ฒฐ: ์
๋ ฅ๊ฐ, ๊ถํ(Owner), BNB ์์ก์ ํ์ธํ์ธ์
- "๋ฝ์
์ด ์ด๋ฏธ ๋ง๋ฃ๋์์ต๋๋ค (LockupExpired)"
- ์์ธ: ๋ง๋ฃ๋ ๋ฝ์
์ ์ฐ์ฅํ๋ ค๊ณ ์๋
- ํด๊ฒฐ: ๋ง๋ฃ๋ ๋ฝ์
์ ์ฐ์ฅํ ์ ์์ต๋๋ค. ์๋ก์ด ๋ฝ์
์ ์ค์ ํ์ธ์
๋ณด์ ๊ถ์ฅ
- Owner ๊ถํ์ ์ต์ํ์ผ๋ก ๊ด๋ฆฌํ์ธ์
- ์ค์ํ ์์
์ ๋ฉํฐ์๊ทธ/ํ๋์จ์ด ์๋ ๊ถ์ฅ
- ์ปจํธ๋ํธ ์ฃผ์๋ฅผ ํญ์ ์ฌํ์ธํ์ธ์ (ํผ์ฑ ๋ฐฉ์ง)
- ๋ฝ์
์ค์ ์ ์๊ฐ๊ณผ ์๋์ ๋ฐ๋์ ์ฌํ์ธํ์ธ์
- ๋๋์ ํ ํฐ ์์
์ ์๋์ผ๋ก ๋จผ์ ํ
์คํธํ์ธ์
- โ ๏ธ ๋ฉ์ธ๋ท์์ ์ง์ ์์
ํ๋ฏ๋ก ๋ชจ๋ ํธ๋์ญ์
์ ์ค์ BNB๊ฐ ์๋ชจ๋๊ณ ๋ณต๊ตฌ ๋ถ๊ฐ๋ฅํฉ๋๋ค
- ์ค์ ์์
์ ์ปจํธ๋ํธ ํจ์๋ฅผ "call"๋ก ์๋ฎฌ๋ ์ด์
ํ์ฌ ๊ฒฐ๊ณผ๋ฅผ ๋ฏธ๋ฆฌ ํ์ธํ์ธ์
BSC ๋คํธ์ํฌ ์ ๋ณด
| ๊ตฌ๋ถ |
Binance Smart Chain Mainnet |
| Chain ID |
56 |
| RPC URL |
https://bsc-dataseed.binance.org/ |
| ํตํ ๊ธฐํธ |
BNB |
| ์ฉ๋ |
์ค์ ์ด์ (ํ๋ก๋์
) |
| BNB ํ๋ |
๊ฑฐ๋์์์ ๊ตฌ๋งค (๋ฐ์ด๋ธ์ค, ์
๋นํธ, ๋น์ธ ๋ฑ) |
| ๊ฐ์ค๋น |
์ค์ ๋น์ฉ ๋ฐ์ (์ฝ $0.10~$0.50) |
| Explorer |
bscscan.com |
BscScan ํ์ฉ
- ์ปจํธ๋ํธ ํ์ด์ง: ์ปจํธ๋ํธ ์์ค ์ฝ๋, ์ด๋ฒคํธ, ํธ๋์ญ์
ํ์ธ
- ํ ํฐ ํธ๋์ปค: ์ด ๊ณต๊ธ๋, ํ๋ ์, ๊ฑฐ๋๋ ํ์ธ
- ํ๋ ๋ญํน: ์์ ํ๋ ๋ชฉ๋ก ๋ฐ ๋ถํฌ๋ ํ์ธ
- ํธ๋์ญ์
๊ฒ์ฆ: ๋ชจ๋ ํธ๋์ญ์
์ ์ํ ๋ฐ ๊ฐ์ค ์๋ชจ๋ ํ์ธ
- ๋ฉ์ธ๋ท: bscscan.com
์ฃผ์ ๊ธฐ๋ฅ ์์ฝ
| ๊ธฐ๋ฅ |
๊ถํ |
๊ฐ์ค๋น |
| ์ผ์์ ์ง/์ ์ํ |
OWNER |
โ |
| ๋ฝ์
์ค์ /์ฐ์ฅ/๊ฐ์/ํด์ |
OWNER |
โ |
| ๋ฝ์
์ ๋ณด ์กฐํ |
๋๊ตฌ๋ |
ร |
| ํ ํฐ ์ ์ก |
ํ ํฐ ๋ณด์ ์ |
โ |
| ํ ํฐ ์๊ฐ |
ํ ํฐ ๋ณด์ ์ |
โ |
| ์์ก ์กฐํ |
๋๊ตฌ๋ |
ร |
์ถ๊ฐ ๋์๋ง
- MetaMask์ BSC ๋คํธ์ํฌ ์ถ๊ฐ:
- ๋คํธ์ํฌ ์ด๋ฆ: Binance Smart Chain
- RPC URL: https://bsc-dataseed.binance.org/
- Chain ID: 56
- ํตํ ๊ธฐํธ: BNB
- ๋ธ๋ก ํ์๊ธฐ: https://bscscan.com
- BscScan: ๋ฉ์ธ๋ท ํ์๊ธฐ์์ ๋ชจ๋ ํธ๋์ญ์
ํ์ธ ๊ฐ๋ฅ
- ๊ฐ์ค๋น ์ ์ฝ: ๋คํธ์ํฌ๊ฐ ๋ถ๋น์ง ์์ ์๊ฐ๋์ ํธ๋์ญ์
์ ์ก (๋ณดํต ์๋ฒฝ ์๊ฐ๋)
- BNB ๊ตฌ๋งค: ๋ฐ์ด๋ธ์ค, ์
๋นํธ, ๋น์ธ ๋ฑ ํ๊ตญ ๊ฑฐ๋์์์ ๊ตฌ๋งค ํ MetaMask๋ก ์ ์ก
- ๋ฌธ์: ์ปจํธ๋ํธ ๊ด๋ จ ๋ฌธ์๋ ๊ฐ๋ฐํ์ ๋ฌธ์ํ์ธ์
โ ๏ธ ๋ฉ์ธ๋ท ์ด์ ์ ์ฃผ์์ฌํญ
- ํ
์คํธ๋ท์ด ์์ผ๋ฏ๋ก ๋ชจ๋ ์์
์ด ์ค์ ๋ธ๋ก์ฒด์ธ์ ๊ธฐ๋ก๋๊ณ ๋ณต๊ตฌ ๋ถ๊ฐ๋ฅํฉ๋๋ค
- ์๋์ ํ ํฐ์ผ๋ก ๋จผ์ ํ
์คํธํ ํ ๋๋ ์์
์ ์งํํ์ธ์
- ๋ฝ์
์ค์ ์ ์๊ฐ๊ณผ ์๋์ ์ฌ๋ฌ ๋ฒ ํ์ธํ์ธ์ (์ค์ ์ ๋ณต๊ตฌ ๋ถ๊ฐ)
- ์ปจํธ๋ํธ ์ฃผ์๋ฅผ ๋ฐ๋์ BscScan์์ ํ์ธํ์ธ์ (ํผ์ฑ ๋ฐฉ์ง)
- Owner ๊ฐ์ธํค๋ ํ๋์จ์ด ์๋ ๋๋ ๋ฉํฐ์๊ทธ๋ก ๋ณดํธํ์ธ์
- ์ค์ํ ํธ๋์ญ์
์ ๊ฐ์ค๋น ์ฌ์ ๋ถ์ ํ๋ณดํ์ธ์ (์ต์ 0.01 BNB ์ด์)