0.7.0 • Published 5 years ago
@blockstack/stacks-transactions v0.7.0
Stacks Transactions JS
The Javascript library for generating Stacks 2.0 transactions.
Installation
$ npm install stacks-transaction-js
Overview
This library supports the creation of the following Stacks 2.0 transaction types:
- STX token transfer
- Smart contract deploy
- Smart contract function call
Key Generation
const { StacksPrivateKey } = require('stacks-transactions-js');
// Random key
var privateKey = StacksPrivateKey.makeRandom();
// Get public key from private
var publicKey = privateKey.getPublicKey();
// Private key from hex string
var key = "edf9aee84d9b7abc145504dde6726c64f369d37ee34ded868fabd876c26570bc01";
var privateKey = new StacksPrivateKey(key);
STX Token Transfer Transaction
const { makeSTXTokenTransfer } = require('stacks-transactions-js');
var recipientAddress = 'SP3FGQ8Z7JY9BWYZ5WM53E0M9NK7WHJF0691NZ159';
var amount = BigInt(12345);
var feeRate = BigInt(0);
var nonce = BigInt(0);
var secretKey = "edf9aee84d9b7abc145504dde6726c64f369d37ee34ded868fabd876c26570bc01";
var memo = "test memo";
var transaction = makeSTXTokenTransfer(
recipientAddress,
amount,
feeRate,
nonce,
secretKey,
TransactionVersion.Mainnet,
memo
);
var serializedTx = transaction.serialize().toString('hex');
// broadcast the transaction
Smart Contract Deploy Transaction
const { makeSmartContractDeploy } = require('stacks-transactions-js');
var contractName = 'contract_name';
var code = fs.readFileSync('/path/to/contract.clar').toString();
var secretKey = "edf9aee84d9b7abc145504dde6726c64f369d37ee34ded868fabd876c26570bc01";
var feeRate = BigInt(0);
var nonce = BigInt(0);
var transaction = makeSmartContractDeploy(contractName, code, feeRate, nonce, secretKey, TransactionVersion.Mainnet);
var serializedTx = transaction.serialize().toString('hex');
// broadcast the transaction
Smart Contract Function Call
const { makeContractCall, BufferCV } = require('stacks-transactions-js');
var contractAddress = 'SPBMRFRPPGCDE3F384WCJPK8PQJGZ8K9QKK7F59X';
var contractName = 'contract_name';
var functionName = 'contract_function';
var buffer = Buffer.from('foo');
var bufferClarityValue = new BufferCV(buffer);
var functionArgs = [bufferClarityValue];
var secretKey = "edf9aee84d9b7abc145504dde6726c64f369d37ee34ded868fabd876c26570bc01";
var feeRate = BigInt(0);
var nonce = BigInt(0);
var transaction = makeContractCall(
contractAddress,
contractName,
functionName,
functionArgs,
feeRate,
nonce,
secretKey,
TransactionVersion.Mainnet
);
var serializedTx = transaction.serialize().toString('hex');
// broadcast the transaction
0.6.1-beta.2
5 years ago
0.6.1-beta.1
5 years ago
0.7.0
5 years ago
0.6.0-beta.1
5 years ago
0.6.0-test.0
5 years ago
0.6.0-test.1
5 years ago
0.6.0
5 years ago
0.5.1
5 years ago
0.5.0-beta.1
5 years ago
0.4.6
5 years ago
0.4.5
5 years ago
0.4.4
5 years ago
0.4.3
5 years ago
0.4.2
5 years ago
0.4.1
5 years ago
0.4.0
5 years ago
0.3.0-alpha.6
5 years ago
0.3.0-alpha.2
5 years ago
0.3.0-alpha.3
5 years ago
0.3.0-alpha.4
5 years ago
0.3.0-alpha.5
5 years ago
0.3.0-alpha.1
5 years ago
0.2.0-alpha.5
5 years ago
0.2.0-alpha.4
5 years ago
0.2.0-alpha.3
5 years ago
0.2.0-alpha.2
5 years ago
0.2.0-alpha.1
5 years ago
0.1.1-alpha.2
5 years ago
0.1.1-alpha.1
5 years ago
0.1.1
5 years ago
0.1.0
5 years ago