本指南将引导您设置 Spark 钱包、存入比特币、通过 Spark 和闪电网络发送资金,以及提取回 L1。在不到 10 分钟的时间内,您将体验为何 Spark 设计成使比特币像现代数字钱包一样易于使用。

设置:运行 CLI

克隆并启动由 Spark SDK 支持的 Spark CLI:

# 克隆 Spark SDK 仓库
git clone https://github.com/buildonspark/spark.git

# 导航到 JS 文件夹
cd spark/sdks/js

# 安装依赖并构建 SDK
yarn && yarn build

# 导航到 JS CLI 文件夹
cd examples/spark-cli

# 启动 CLI
yarn cli

步骤 1:初始化您的钱包

创建您的第一个 Spark 钱包:

> initwallet

示例输出:

Mnemonic: please broccoli hole unfold trigger novel marriage come invest need ostrich never
Network: REGTEST

重要:离线安全保存您的助记词。任何获得访问权限的人都可以控制您的资金。

要恢复现有钱包:

> initwallet <助记词>

步骤 2:存入比特币

Spark 使用一次性存款地址。切勿重复使用它们。**提示:**我们正在积极开发新的存款选项,这将消除每次都需要生成新地址的需求。敬请期待更新。

生成存款地址:

> getdepositaddress
bcrt1pz5sxkd4eaycla7av8c9avmdleyertmhkh2zf60vrmn346wwnjayq8phsra

这将打印一个有效的 L1 比特币地址,您可以向其发送资金。您可以使用我们的水龙头向您的 REGTEST Spark 钱包存入测试资金。

从水龙头存入资金后,要检索交易哈希,运行:

> getlatesttx <存款地址>
# 示例:
> getlatesttx bcrt1pz5sxkd4eaycla7av8c9avmdleyertmhkh2zf60vrmn346wwnjayq8phsra
2c5ccdc5852eb23662344c142970a1d96f2bed539a1be074cbbff65411ba3270

一旦交易在链上确认,请认领它:

> claimdeposit <交易哈希>
# 示例:
> claimdeposit 2c5ccdc5852eb23662344c142970a1d96f2bed539a1be074cbbff65411ba3270

验证您的余额是否增加:

> getbalance
Sats Balance: 10000

步骤 3:通过 Spark 转账资金

创建一个新钱包并获取其 Spark 地址。Spark 地址是一个静态地址,可以与付款人共享以接收资金。

# 钱包 2
> initwallet
Mnemonic: repeat entry hazard estate normal relief pledge act online raw pull bean
Network: REGTEST
> getsparkaddress
sprt1pgss9yrf7gljw2yr8fupgw9pevqnffs3qjz6cnnd87hvtt8hkfhsh66mq57r7e

# 钱包 1
> initwallet <钱包 1 助记词>
> sendtransfer <金额> <spark 地址>
# 示例:
> sendtransfer 1000 sprt1pgss9yrf7gljw2yr8fupgw9pevqnffs3qjz6cnnd87hvtt8hkfhsh66mq57r7e

就是这样!您的资金在两个钱包之间转移。在每个钱包上使用 getbalance 确保它按预期进行。

步骤 4:发送和接收闪电支付

Spark 完全兼容闪电网络。让我们通过在我们的两个钱包之间发送闪电支付来测试它。

# 钱包 2
> initwallet <钱包 2 助记词>
> createinvoice <金额> <可选备忘录>
# 示例:
> createinvoice 1000 Spark 太棒了!

# 钱包 1
> initwallet <钱包 1 助记词>
> payinvoice <编码的发票> <最大费用>
# 示例:
> payinvoice lnbcrt10u1p5pqphup[...]cpkql23a 200

付款人将指定他们愿意为此发票支付的最大费用金额(以 sats 计),SDK 将优化支付以找到更低的费用,但绝不会超过该值。

在每个钱包上使用 getbalance 确保它按预期进行。

步骤 5:将资金提取到 L1 钱包

您可以通过将资金发送到 L1 地址从 Spark 提取资金。

对于此示例,我们将从钱包 1 “提取”资金到钱包 2。

# 钱包 2
> initwallet <助记词>
> getdepositaddress

# 钱包 1
> initwallet <助记词>
> withdrawalfee <金额> <存款地址>
# 示例:
withdrawalfee 15000 bcrt1p6tx52amnr448lv8vyr7fumqt3c2qmlkg4hgvj8swxfcz8cayukvqwk9mu6
# 如果费用可以接受
> withdraw <金额> <存款地址> <SLOW|MEDIUM|FAST>
# 示例:
> withdraw 15000 bcrt1pslvlzmkwz8f42u8vr2fkhdhyzyh2x5cwy8l0lpdnqr4ptsjrefrq0sd0gl FAST

您可以在浏览器中跟踪(即将推出),交易确认后,您需要在钱包 2 中认领它

# 钱包 2
> initwallet <助记词>
> claimdeposit <交易哈希>

在每个钱包上使用 getbalance 确保它按预期进行。