# altiusjs-lib

> An extend lib for bitcoinjs-lib, it supports two new network of altius and altius-testnet, and it can generate contract creating and sending transactions

Latest version **0.0.8** (published 2019-11-09) · MIT license · 0 weekly downloads

## Install

```sh
npm install altiusjs-lib
pnpm add altiusjs-lib
yarn add altiusjs-lib
bun add altiusjs-lib
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.0.8 |
| Published | 2019-11-09 |
| First published | 2019-11-09 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 4 |
| Unpacked size | 12.2 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Altius Dev Team |
| Maintainers | altiusofficial |
| Keywords | altius, altiusjs, smart contract, bitcoin |

## Links

- npm: https://www.npmjs.com/package/altiusjs-lib
- Repository: https://github.com/altiusofficial/altiusjs-lib
- Homepage: https://github.com/altiusofficial/altiusjs-lib#readme
- Issues: https://github.com/altiusofficial/altiusjs-lib/issues
- npm.io page: https://npm.io/package/altiusjs-lib

## Dependencies (4)

- [safe-buffer](https://npm.io/package/safe-buffer.md) ^5.1.1
- [bignumber.js](https://npm.io/package/bignumber.js.md) ^4.1.0
- [bitcoinjs-lib](https://npm.io/package/bitcoinjs-lib.md) ^3.3.2
- [@altius/altius-opcodes](https://npm.io/package/@altius/altius-opcodes.md) ^0.0.1

## Recent versions

- 0.0.8 (latest) — 2019-11-09

## README

# altiusjs-lib
This is an extend lib for bitcoinjs-lib.
It extends the network type of bitcoinjs-lib.
It also provides an useful lib to help you building ALTS transactions.

## Installation
``` bash
npm install altiusjs-lib
```

## Setup
### Node.js
``` javascript
var altiusjs = require('altiusjs-lib')
```

## New features
### Network
```
{
    altius: {
        messagePrefix: '\x18Altius Signed Message:\n',
        bech32: 'fg',
        bip32: {
            public: 0x0488B21E,
            private: 0x0488ADE4
        },
        pubKeyHash: 0x11,
        scriptHash: 0x32,
        wif: 0x80
    },
    altius_testnet: {
        messagePrefix: '\x18Altius Signed Message:\n',
        bech32: 'tf',
        bip32: {
            public: 0x0488B21E,
            private: 0x0488ADE4
        },
        pubKeyHash: 0x11,
        scriptHash: 0x32,
        wif: 0x80
    }
}

```

### Utils
#### Utils.selectTxs
```javascript
/**
 * This is a function for selecting ALTS utxos to build transactions
 * the transaction object takes at least 3 fields, value(unit is 1e-8 ALTS) , confirmations and isStake
 *
 * @param [transaction] unspentTransactions
 * @param Number amount(unit: ALTS)
 * @param Number fee(unit: ALTS)
 * @returns [transaction]
 */
function selectTxs(unspentTransactions, amount, fee)
```
#### Utils.buildPubKeyHashTransaction
```javascript
/**
 * This is a helper function to build a pubkeyhash transaction
 * the transaction object takes at least 5 fields, value(unit is 1e-8 ALTS), confirmations, isStake, hash and pos
 *
 * @param bitcoinjs-lib.KeyPair keyPair
 * @param String to
 * @param Number amount(unit: ALTS)
 * @param Number fee(unit: ALTS)
 * @param [transaction] utxoList
 * @returns String the built tx
 */
function buildPubKeyHashTransaction(keyPair, to, amount, fee, utxoList)
```
#### Utils.buildCreateContractTransaction
```javascript
/**
 * This is a helper function to build a create-contract transaction
 * the transaction object takes at least 5 fields, value(unit is 1e-8 ALTS), confirmations, isStake, hash and pos
 *
 * @param bitcoinjs-lib.KeyPair keyPair
 * @param String code The contract byte code
 * @param Number gasLimit
 * @param Number gasPrice(unit: 1e-8 ALTS/gas)
 * @param Number fee(unit: ALTS)
 * @param [transaction] utxoList
 * @returns String the built tx
 */
function buildCreateContractTransaction(keyPair, code, gasLimit, gasPrice, fee, utxoList)
```
#### Utils.buildSendToContractTransaction
```javascript
/**
 * This is a helper function to build a send-to-contract transaction
 * the transaction object takes at least 5 fields, value(unit is 1e-8 ALTS), confirmations, isStake, hash and pos
 *
 * @param bitcoinjs-lib.KeyPair keyPair
 * @param String contractAddress The contract address
 * @param String encodedData The encoded abi data
 * @param Number gasLimit
 * @param Number gasPrice(unit: 1e-8 ALTS/gas)
 * @param Number fee(unit: ALTS)
 * @param [transaction] utxoList
 * @returns String the built tx
 */
function buildSendToContractTransaction(keyPair, contractAddress, encodedData, gasLimit, gasPrice, fee, utxoList)
```

---
_Source: https://npm.io/package/altiusjs-lib · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
