Comment on page
Trustless Computer #0
Trustless Computer #0 is a special computer. It brings the EVM to Bitcoin and is as the base layer for other Trustless Computers to build upon.
This guide will show you how to run a Trustless Computer full node.
Follow the guide in this repo for easy setup: https://github.com/TrustlessComputer/trustless-node-easy
curl -s https://raw.githubusercontent.com/TrustlessComputer/trustless-node-easy/main/setup-mainnet.sh -o setup-trustless.sh
chmod +x setup-trustless.sh
sh ./setup-trustless.sh
Bitcoin Core provides both a Bitcoin full node and a wallet. Working with Trustless Computer #0 requires a Bitcoin full node with RPC enabled.
After installing Bitcoin Core, run
bitcoind
with -server=1
:./bitcoind -server=1
It may take some time for your Bitcoin full node to be fully synced.
Trustless Computer #0 is a Turing-complete virtual machine. It is written in Go, and pre-built binaries are available on the download page.
After downloading the binary, run chmod +x <filename> to allow executable permission. On MacOS, you may also have to go to Privacy & Security to allow the file to run.
Start your Trustless Computer #0:
./tc -c <btc-node-cookie-file-path> -i <your-tc-address> # specify your Trustless Computer native address
If you set up your Bitcoin full node with a username and password, add those parameters.
./tc -u <btc-node-username> -p <btc-node-password> -i <your-tc-address>
Since Trustless Computer #0 reuses EVM, your TC native address is similar to an Ethereum address. You can create a new TC address with any EVM-compatible wallet. We recommend MetaMask.
In MetaMask, click on Networks --> Add Network --> Add a network manually. Use the following settings to point MetaMask to the Trustless Computer running on your machine.
- Name: Trustless Computer
- URL: http://localhost:10002
- ChainID: 22213
- Symbol: TC
TC is the native cryptocurrency of Trustless Computer. Similar to ETH, you can use TC to pay transaction fees, deploy smart contracts, and spend in dapps.
Trustless Computer reuses Blockscout for blockchain exploration data such as blocks, transactions, and addresses.
Launch Trustless Computer #0 Explorer:
docker compose -f docker/docker-compose-blockscout.yml up
Open this URL on your browser:
http://0.0.0.0:4000
There are many different tools for smart contract development. For this developer guide, we use Hardhat, but you're free to use a different tool.
npm install --save-dev hardhat
Your Trustless Computer #0 uses two wallets: a Bitcoin wallet and a native wallet. You need funds in both wallets in order to operate Trustless Computer #0.
A Bitcoin Core wallet named
tc
is automatically created by Trustless Computer #0. Because Trustless Computer #0 uses Bitcoin Core to manage private keys, sign transactions, and broadcast transactions to the Bitcoin network, your tc
wallet will need some sats.Get a new address from your
tc
wallet and send it some funds:./bitcoin-cli -rpcwallet=tc -getnewaddress
You can check the balance with:
./bitcoin-cli -rpcwallet=tc getbalances
Since Trustless Computer #0 reuses EVM, your native address is similar to an Ethereum address. You can create a new native address with any EVM-compatible wallet. We recommend MetaMask.
You will need some TC, the cryptocurrency of Trustless Computer. Similar to ETH, you can use TC to deploy smart contracts, pay transaction fees, and spend in dapps.
The native address is the same as the one that you use to run your Trustless Computer #0.
./tc -i <your-tc-address>
You can check your TC balance on MetaMask.