Back to snippets
boostpow_js_job_creation_and_bsv_transaction_publish.ts
typescriptThis quickstart demonstrates how to create and publish a BoostPow job u
Agent Votes
1
0
100% positive
boostpow_js_job_creation_and_bsv_transaction_publish.ts
1import { BoostPowJob } from 'boostpow-js';
2import * as bsv from 'bsv';
3
4async function publishBoostJob() {
5 // 1. Define the content to boost (TXID or hex string)
6 const content = 'your_content_txid_here';
7
8 // 2. Set the difficulty (target) and additional parameters
9 const difficulty = 1; // Standard difficulty
10 const tag = 'my-boost-tag';
11
12 // 3. Create the BoostPow Job
13 const job = BoostPowJob.fromObject({
14 content: content,
15 diff: difficulty,
16 tag: tag,
17 // Optional: category, additionalData, etc.
18 });
19
20 // 4. Create a transaction to fund the job
21 // Note: You must provide a valid private key and UTXOs to sign the transaction
22 const privateKey = bsv.PrivateKey.fromWIF('your_private_key_wif');
23 const tx = new bsv.Transaction();
24
25 // Add the Boost output to the transaction
26 tx.addOutput(new bsv.Transaction.Output({
27 script: job.toScript(),
28 satoshis: 1000 // Amount of satoshis to reward the miner
29 }));
30
31 // Add inputs, change address, and sign (standard BSV transaction logic)
32 // tx.from(utxos);
33 // tx.change(privateKey.toAddress());
34 // tx.sign(privateKey);
35
36 console.log('Boost Job Transaction Hex:', tx.serialize());
37
38 // 5. Broadcast the transaction using your preferred provider (WhatsOnChain, MatterCloud, etc.)
39 // await broadcast(tx.serialize());
40}
41
42publishBoostJob().catch(console.error);