cashu-skill์(๋) ๋ฌด์์ ํ๋์?
๐ Node.js์ SQLite๋ก ๊ตฌ์ถ๋ ๊ฒฝ๋ CLI๋ฅผ ์ฌ์ฉํ์ฌ Cashu ecash ํ ํฐ์ ๊ด๋ฆฌํ๊ณ ๋นํธ์ฝ์ธ ๋ผ์ดํธ๋ ๋ฏผํธ์ ์์ฝ๊ฒ ์ํธ์์ฉํ์ธ์.
๊ฐ์
์ด ์คํฌ์ ๊ฐ๋ฐ์๊ฐ Cashu ecash ํ ํฐ์ ์์ฑ, ์ ์ก, ์๊ฐํ๊ณ ๋นํธ์ฝ์ธ ๋ผ์ดํธ๋ ๋คํธ์ํฌ ๋ฏผํธ์ ์ํธ์์ฉํ ์ ์๊ฒ ํด์ฃผ๋ CLI ๋๊ตฌ์ ๋๋ค. ๋ก์ปฌ SQLite ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ์ฌ ๋ชจ๋ ํ ํฐ๊ณผ ํธ๋์ญ์ ๊ธฐ๋ก์ ์์ ํ๊ฒ ์ ์ฅํฉ๋๋ค.
์ค์น
# npm์ ํตํด ์ ์ญ ์ค์น
npm install -g @eridanus/cashu-skill
# ๋๋ ์ ์ฅ์๋ฅผ ํด๋ก ํ์ฌ ๋ก์ปฌ์์ ์ฌ์ฉ
git clone https://github.com/eridanux/cashu-skill
cd cashu-skill
npm install
npm link
์ฌ์ฉ๋ฒ
# ๊ธฐ๋ณธ ๋ช
๋ น์ด
cashu --help
# ๋ฏผํธ ๋ชฉ๋ก ๋ณด๊ธฐ
cashu mints
# ์ ํ ํฐ ์์ฑ (๋ฏผํธ)
cashu mint --amount 100 --mint https://mint.example.com
# ์์ฑ๋ ํ ํฐ ๋ณด๊ธฐ
cashu tokens
# ํ ํฐ ์ ์ก
cashu send --token <token-id> --to <recipient-address>
# ํ ํฐ ์์
cashu receive --token <ecash-token-string>
# ์์ก ์กฐํ
cashu balance
# ํน์ ๋ฏผํธ ์ ๋ณด ๋ณด๊ธฐ
cashu mint-info --mint https://mint.example.com
๊ตฌ์ฑ
ํ๊ฒฝ ๋ณ์ ๋๋ .env ํ์ผ์ ํตํด ๋ค์ ์ต์
์ ์ค์ ํ ์ ์์ต๋๋ค:
| ๋ณ์๋ช | ์ค๋ช | ๊ธฐ๋ณธ๊ฐ |
|---|---|---|
CASHU_DB_PATH | SQLite ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ์ผ ๊ฒฝ๋ก | ./cashu.db |
CASHU_DEFAULT_MINT | ๊ธฐ๋ณธ ๋ผ์ดํธ๋ ๋ฏผํธ URL | ์ค์ ๋์ง ์์ |
CASHU_DEFAULT_UNIT | ๊ธฐ๋ณธ ํตํ ๋จ์ (sat, msat) | sat |
์๊ตฌ ์ฌํญ
- Node.js 18.x ์ด์
- SQLite3 (๋ก์ปฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฌ์ฉ)
- ํ์ฑ ๋นํธ์ฝ์ธ ๋ผ์ดํธ๋ ๋ฏผํธ URL (๊ณต๊ฐ ํ ์คํธ ๋ฏผํธ ์ฌ์ฉ ๊ฐ๋ฅ)
๋ผ์ด์ ์ค
MIT