# bitcoin-computer

> Lightweight Smart Contracts for Bitcoin and Litecoin

Latest version **0.16.0-beta.1** (published 2023-09-13) · 0 weekly downloads

> **Deprecated.** This package is deprecated.

## Install

```sh
npm install bitcoin-computer
pnpm add bitcoin-computer
yarn add bitcoin-computer
bun add bitcoin-computer
```

Provides the command `bitcoin-computer`.

## Health

**Score 10/100 (F)** — status: deprecated.

Negative: deprecated.

## Facts

| | |
|---|---|
| Version | 0.16.0-beta.1 |
| Published | 2023-09-13 |
| First published | 2019-09-27 |
| Weekly downloads | 0 |
| TypeScript types | none |
| Module format | ESM |
| Dependencies | 1 |
| Unpacked size | 7.6 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 47 |
| Author | Clemens Ley |
| Maintainers | clemensley |

## Links

- npm: https://www.npmjs.com/package/bitcoin-computer
- Repository: https://github.com/bitcoin-computer/monorepo
- Homepage: http://bitcoincomputer.io/
- Issues: https://github.com/bitcoin-computer/monorepo/issues
- npm.io page: https://npm.io/package/bitcoin-computer

## Dependencies (1)

- [@endo/static-module-record](https://npm.io/package/@endo/static-module-record.md) ^0.7.6

## Recent versions

- 0.16.0-beta.1 (latest) — 2023-09-13
- 0.15.0-beta.0 — 2023-03-08
- 0.14.1-beta.1 — 2023-03-01
- 0.14.0-beta.0 — 2023-02-15
- 0.13.4-beta.3 — 2023-02-01
- 0.13.4-beta.2 — 2023-02-01
- 0.13.4-beta.1 — 2023-02-01
- 0.13.4-beta.0 — 2023-01-30
- 0.13.3-beta.0 — 2023-01-28
- 0.13.2-beta.0 — 2023-01-27
- 0.12.0-beta.0 — 2023-01-03
- 0.11.0-beta.0 — 2022-12-09
- 0.11.0-alpha.0 — 2022-12-09
- 0.10.1 — 2022-10-12
- 0.10.0-beta.3 — 2022-10-12
- … 46 more at https://npm.io/package/bitcoin-computer/versions

## README

<div align="center">
<img src="imgs/bitcoin-computer@1x.png" alt="bitcoin-computer-logo" border="0" style="max-height: 180px"/>
<h1>Bitcoin Computer</h1>
</div>

A smart contract system for UTXO-based blockchains. Key features:
* Smart contract programming in Javascript and Typescript
* Very low fees through client-side validation
* Built-in privacy through encryption
* Optional encrypted off-chain storage for efficient block space usage
* ES6 compliant module system
* Does not rely on a side-chain
* Support for Litecoin with support for Bitcoin and Dogecoin coming soon.

With the Bitcoin Computer, you can build decentralized applications. Examples include fungible and non-fungible tokens, exchanges, games, office applications, social networks, messengers, AI-based applications, and much more.


<b>NEW</b> [experimental support for ordinals](https://docs.bitcoincomputer.io/ordinals/) was added in version 0.14.

## Getting Started

To clone this monorepo and install the dependencies, run

```bash
npx bitcoin-computer
```

## Examples

The examples are in the `packages` folder. To run an example look at the `README.md` file in the corresponding folder.

### Applications

* [Wallet](https://github.com/bitcoin-computer/monorepo/tree/main/packages/wallet): A minimal non-custodial wallet
* [Chat](https://github.com/bitcoin-computer/monorepo/tree/main/packages/chat): A p2p chat application where messages are communicated over the blockchain
* [Fungible Token](https://github.com/bitcoin-computer/monorepo/tree/main/packages/fungible-token): An application for minting, sending, and storing fungible tokens
* [Non Fungible Token](https://github.com/bitcoin-computer/monorepo/tree/main/packages/non-fungible-token): An application for minting, sending, and storing non-fungible tokens (NFTs)

### Standard Smart Contracts

* [BRC20 contract](https://github.com/bitcoin-computer/monorepo/tree/main/packages/BRC20): A implementation of the ERC20 Fungible Token Standard
* [BRC721 contract](https://github.com/bitcoin-computer/monorepo/tree/main/packages/BRC721): A implementation of the ERC721 Non-Fungible Token Standard

### Templates
* [Bitcoin Computer Node.js Template](https://github.com/bitcoin-computer/monorepo/tree/main/packages/node-js-boilerplate): A template for starting a new Bitcoin Computer application with [node.js](https://nodejs.org/en/)
* [Bitcoin Computer React Template](https://github.com/bitcoin-computer/monorepo/tree/main/packages/create-react-app-template): A template for starting a new Bitcoin Computer application with [Create React App](https://create-react-app.dev/)

## Core Library

The core smart contract library is based on two packages:

* [Bitcoin Computer Lib](https://www.npmjs.com/package/@bitcoin-computer/lib) A non-custodial web wallet for reading and writing smart contracts
* [Bitcoin Computer Node](https://github.com/bitcoin-computer/monorepo/tree/main/packages/node) Server side infrastructure for providing trustless access to smart contracts

## Versioning

If you run your own node, make sure to use the same versions of Lib and Node.

We provide a free Bitcoin Computer Node on Litecoin testnet so you can try out Lib without having to run a node. This node always runs the latest version.

## Price

It is free to develop and test a Bitcoin Computer application on testnet and regtest.

We charge a small fee on mainnet to support the development of the Bitcoin Computer. The fee for a function call is satoshis per byte * 475 (average transaction size). The fee for deploying a module is satoshis per byte * data size * 1/4 (making use of the segwit discount). The programer can configure satoshis per byte.

## Development Status

We have completed two internal audits and addressed any discovered issues. Currently, there are no known security vulnerabilities, however, it is possible that unknown vulnerabilities may exist. We plan to conduct one more thorough internal security audit prior to recommending the usage of the Bitcoin Computer in production environments.
## Documentation and Help

Have a look at the [Bitcoin Computer Docs](https://docs.bitcoincomputer.io/).

If you have any questions, please let us know in our <a href="https://t.me/thebitcoincomputer">Telegram group</a>, on <a href="https://twitter.com/TheBitcoinToken">Twitter</a>, or by email clemens@bitcoincomputer.io.

## License

[Bitcoin Computer Lib](https://www.npmjs.com/package/@bitcoin-computer/lib) and [Bitcoin Computer Node](https://github.com/bitcoin-computer/monorepo/tree/main/packages/node) are licensed under the [Creative Commons Attribution-NoDerivs 3.0 Unported License](https://creativecommons.org/licenses/by-nd/3.0/). All other [packages](https://github.com/bitcoin-computer/monorepo/tree/main/packages) in this monorepo are licensed under the [MIT License](https://opensource.org/licenses/MIT). See the individual packages for more information.

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