Appearance
部署您的合约
模板项目提供了一种方便的方式来部署合约,但您也可以自行完成部署。
使用 TypeScript 部署合约和部署链接
一、一些前置准备
- 注册一个TON钱包,拿到钱包地址,钱包注册:https://ton.org/zh/wallets
- 钱包里有一些TON币,用来支付部署合约的gas
二、编写部署脚本
要在 TON 中部署智能合约,您需要发送附加了初始数据的消息。获取合约的初始数据最简单的方法是使用生成的 TypeScript 绑定,这将有助于调用初始化函数。
typescript
import base64url from 'base64url';
import qs from 'qs';
import { Address, beginCell, storeStateInit, contractAddress, toNano } from 'ton-core';
import { Counter } from './output/sample_Counter';
// 形成初始化包
let owner = Address.parse("some-address");
let init = await Counter.init(owner);
let testnet = true;
// 合约地址
let address = contractAddress(0, init);
// 发送部署消息时需要附加的 TON 数量
let deployAmount = toNano("0.5");
// 创建初始化包的字符串表示形式
let initStr = base64url(
beginCell().store(storeStateInit(init)).endCell().toBoc({ idx: false })
);
// 创建一个部署链接
console.log(
`ton://transfer/` +
address.toString({ testOnly: testnet }) +
"?" +
qs.stringify({
text: "Deploy",
amount: deployAmount.toString(10),
init: initStr,
})
);
运行此代码后,您将获得一个链接,您可以在您喜爱的 TON 钱包中打开它。它将打开一个转账页面,其中已经填写了一个部署消息。您可以更改附加到部署消息的 TON 数量,然后点击“发送”按钮。几秒钟后,您的合约将被部署,并且您将在钱包中看到一笔交易。