-
Notifications
You must be signed in to change notification settings - Fork 0
/
deploy.ts
43 lines (33 loc) · 1.18 KB
/
deploy.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import { OrdinalLock } from './src/contracts/ordinalLock'
import {
bsv,
TestWallet,
DefaultProvider,
sha256,
toByteString,
} from 'scrypt-ts'
import * as dotenv from 'dotenv'
// Load the .env file
dotenv.config()
// Read the private key from the .env file.
// The default private key inside the .env file is meant to be used for the Bitcoin testnet.
// See https://scrypt.io/docs/bitcoin-basics/bsv/#private-keys
const privateKey = bsv.PrivateKey.fromWIF(process.env.PRIVATE_KEY)
// Prepare signer.
// See https://scrypt.io/docs/how-to-deploy-and-call-a-contract/#prepare-a-signer-and-provider
const signer = new TestWallet(privateKey, new DefaultProvider())
async function main() {
await OrdinalLock.compile()
// TODO: Adjust the amount of satoshis locked in the smart contract:
const amount = 100
const instance = new OrdinalLock(
// TODO: Adjust constructor parameter values:
sha256(toByteString('hello world', true))
)
// Connect to a signer.
await instance.connect(signer)
// Contract deployment.
const deployTx = await instance.deploy(amount)
console.log('OrdinalLock contract deployed: ', deployTx.id)
}
main()