docs.bitcoincomputer.io Open in urlscan Pro
2606:4700::6812:191  Public Scan

URL: https://docs.bitcoincomputer.io/
Submission: On February 04 via api from US — Scanned from DE

Form analysis 0 forms found in the DOM

Text Content

Bitcoin Computer

Bitcoin Computer

Getting started

Tutorial

Api

Examples

Videos

Getting Help

Jobs

Powered By GitBook

Bitcoin Computer
Javascript Smart Contracts on Bitcoin

SIMPLE DEVELOPMENT

The Bitcoin Computer makes smart contract development easy: A smart contract is
a Javascript class. You can create an object from the class and store it on the
blockchain. The object can be updated by calling a function. You can share the
location of the object with other users and gain consensus over the state of the
object. This makes is easy to build games, messengers, social networks, NFTs,
fungible tokens, stable coins, exchanges, auctions, voting, office applications,
artificial intelligence, every application you can think of.
The integration into web applications is seamless. Often the entire backend can
be replaced by a smart contract which can vastly simplify development.
LOW FEES

On other blockchains fees are charged for every computational step and for every
memory allocation. On Bitcoin there is no fee per computational step or memory
allocation. This is because smart contracts are evaluated by users as opposed to
by miners. The only fee that needs to be paid is for the block space required to
encode the name of the function being called and its parameters. This is mostly
less than a few cents.
It is possible, for the first time, to run compute and memory intense programs
as smart contracts.
HIGH THROUGHPUT

We are launching on Litecoin. In the future we want to support all currencies in
the Bitcoin family. Between these blockchains, the Bitcoin Computer will have a
maximum throughput of over 300 transactions per second. If one of these
blockchains scales exponentially with hardware the throughput of the Bitcoin
Computer scales exponentially over time.
HOW IT WORKS

Bitcoin had support for tokens before Ethereum existed. Tokens were built on
colored coin protocols. Colored coins allow users to encode updates to data
structures in Bitcoin transactions. Other users can parse these transactions to
compute the latest state of the data structure. Each colored coin protocol comes
with a fixed set of update types and only protocol developers can add new
transaction types. This limits the speed at which applications can evolve.
The Bitcoin Computer is an improvement over previous colored coin protocols by
supporting arbitrary user defined data types and all computable updates. This is
achieved by simulating memory cells in unspent transaction outputs (utxos). When
a memory cell is updated a Bitcoin transaction spends the utxo representing the
old state of that memory cell and creates an utxo representing the new state.
The Bitcoin Computer creates a shared memory on the blockchain. This utxo based
memory can do things that normal memory cannot do: utxos can store satoshis so
that money can be stored in an atomic unit with data. Only users that can unlock
the output script can spend a utxo. Thus the right to update data in the Bitcoin
memory can also be restricted by Bitcoin Script. This leads to a natural notion
of data ownership, enforced by Bitcoin's mining network.
Data structures and updates are specified in Javascript. When a new object is
created, a transaction encoding the class and the arguments to the constructor
is broadcast. When a function is called, the name of the function as well as its
parameters are stored as metadata on a transaction. Other users can parse the
transactions and compute the latest state of the data structure, just like in a
traditional colored coin.
The computation required to evaluate smart contracts is shifted from the most
expensive computing devices (blockchains) to the cheapest ones (user hardware).
Users do not consider electricity cost for computation, even when running
demanding software like games or video editing. Client side validation enables
arbitrary computation at a fixed cost. This is the biggest advantage of smart
contracts on Bitcoin as it will make it possible to build all applications, even
compute intense ones, as smart contracts.
Like for all colored coins, users only need to perform computation for objects
they are interested in. This makes it possible to run a smart contract that
requires a supercomputer to evaluate without bothering other users.
Application development with the Bitcoin Computer can be compared to web
development. The biggest difference is that Javascript objects can be persisted
directly on the blockchain via the client side Bitcoin Computer library. This
makes it possible to build applications without a server.
Plus it's cool to run smart contracts on Bitcoin.
DOWNLOAD FROM NPM

npm: bitcoin-computer-lib
npm

Next
Getting started

Last modified 10d ago
Was this page helpful?

Copy link
Contents
Simple Development
Low Fees
High Throughput
How it Works
Download from NPM
Cookies
Reject all
This site uses cookies to deliver its service and to analyse traffic. By
browsing this site, you accept our cookie policy.