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.
NEW experimental support for ordinals was added in version 0.14.
To clone this monorepo and install the dependencies, run
npx bitcoin-computer
The examples are in the packages
folder. To run an example look at the README.md
file in the corresponding folder.
- Wallet: A minimal non-custodial wallet
- Chat: A p2p chat application where messages are communicated over the blockchain
- Fungible Token: An application for minting, sending, and storing fungible tokens
- Non Fungible Token: An application for minting, sending, and storing non-fungible tokens (NFTs)
- BRC20 contract: A implementation of the ERC20 Fungible Token Standard
- BRC721 contract: A implementation of the ERC721 Non-Fungible Token Standard
- Bitcoin Computer Node.js Template: A template for starting a new Bitcoin Computer application with node.js
- Bitcoin Computer React Template: A template for starting a new Bitcoin Computer application with Create React App
The core smart contract library is based on two packages:
- Bitcoin Computer Lib A non-custodial web wallet for reading and writing smart contracts
- Bitcoin Computer Node Server side infrastructure for providing trustless access to smart contracts
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.
It is free to develop and test a Bitcoin Computer application on testnet and regtest.
On Mainnet the fees for using the Bitcoin Computer are on average the same as the transaction fees charged by miners fees. For example, if the miner transaction fee is one cent, then you pay two cent in total: one cent to the miners, and one cent to support the development of the Bitcoin Computer.
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.
Have a look at the Bitcoin Computer Docs.
If you have any questions, please let us know in our Telegram group, on Twitter, or by email [email protected].
Bitcoin Computer Lib and Bitcoin Computer Node are licensed under the Creative Commons Attribution-NoDerivs 3.0 Unported License. All other packages in this monorepo are licensed under the MIT License. See the individual packages for more information.