Quick Start

v7 Breaking changes

Taquito version 7, which supports the Tezos "Delphi" protocol, has some breaking changes. If you are upgrading from an earlier version to v7, please read the v7 upgrade guide

Installing Taquito using npm#

For quick-start, you may also like to try out our template/boilerplate app here

The following instructions assume you have a project already created, and you have npm installed and operable.

npm install @taquito/taquito

Import the library in your project#

Import TezosToolkit from @taquito/taquito and instantiate it#

The constructor of the TezosToolkit class takes an RPC URL as a parameter. It can be a string or a RpcClient object. A list of community-run nodes can be accessed here.

import { TezosToolkit } from '@taquito/taquito';
const tezos = new TezosToolkit('https://YOUR_PREFERRED_RPC_URL');

In some cases, it can be useful to make more than one instance of Taquito, perhaps if you wanted to communicate with two different RPC nodes or offer other Signing options. You can now up separate instances with various providers or configurations per instance.

Configuration#

Changing the underlying signer#

Taquito's Contract API supports different signers. There is no default signer configured. A signer is required if you intend to inject operations into the Tezos blockchain.

You can set which signer you wish to use as follows:

import { TezosToolkit } from '@taquito/taquito';
import { TezBridgeSigner } from '@taquito/tezbridge-signer';
const tezos = new TezosToolkit('https://YOUR_PREFERRED_RPC_URL');
tezos.setProvider({ signer: new TezBridgeSigner() });

Examples#

Get the current Tezos balance for an address#

Live Editor
Result

Using the inMemory Signer and Importing a key#

The InMemorySigner package is useful for development and testing. It's an easy way to get started with Tezos when you don't need to interact with a user's wallet. The InMemorySigner is suitable for testing and development. Should you be writing code for production that deals with real value tokens, we strongly recommend that you use a RemoteSigner that an HSM backs.

This feature will import your private key in memory and sign operations using this key.

Importing a Private key#

If you have a private key, you can import it as follows:

import { TezosToolkit } from '@taquito/taquito';
import { InMemorySigner, importKey } from '@taquito/signer';
const Tezos = new TezosToolkit('https://YOUR_PREFERRED_RPC_URL');
Tezos.setProvider({
signer: new InMemorySigner('YOUR_PRIVATE_KEY'),
});

Importing a Faucet Key#

"Faucet Keys" allows you to get Tezos tokens on the various Tezos "testnets." You can download a faucet key from https://faucet.tzalpha.net/ The key is a JSON file, which you can use with Taquito as follows:

import { TezosToolkit } from '@taquito/taquito';
import { InMemorySigner, importKey } from '@taquito/signer';
const Tezos = new TezosToolkit('https://YOUR_PREFERRED_RPC_URL');
Tezos.setProvider({ signer: new InMemorySigner() });
const FAUCET_KEY = {
mnemonic: [
'cart',
'will',
'page',
'bench',
'notice',
'leisure',
'penalty',
'medal',
'define',
'odor',
'ride',
'devote',
'cannon',
'setup',
'rescue',
],
secret: '35f266fbf0fca752da1342fdfc745a9c608e7b20',
amount: '4219352756',
pkh: 'tz1YBMFg1nLAPxBE6djnCPbMRH5PLXQWt8Mg',
password: 'Fa26j580dQ',
email: 'jxmjvauo.guddusns@tezos.example.org',
};
importKey(
Tezos,
FAUCET_KEY.email,
FAUCET_KEY.password,
FAUCET_KEY.mnemonic.join(' '),
FAUCET_KEY.secret
).catch((e) => console.error(e));

Transfer#

The transfer operation requires a configured signer. In this example, we will use a private key to fetch a key service implemented for demonstration purposes. You should only use this key service for testing and development purposes.

Live Editor
Result

Interact with a smart contract#

Calling smart contract operations requires a configured signer; in this example we will use a faucet key. The Ligo source code for the smart contract KT1NGihnotUbt8C1WsKfsUg1E2D7UPYzAn2N used in this example can be found in a Ligo Web IDE.

Live Editor
Result