Instalar Taquito
npm install @taquito/taquito
npm install @taquito/signer
Importar la librería
import { TezosToolkit } from '@taquito/taquito';
import { InMemorySigner} from '@taquito/signer';
Crear una instancia de la librería con los mismos contratos rpc:
const Tezos = new TezosToolkit('https://YOUR_PREFERRED_RPC_URL');
Tal vez se encuentre un error y sea necesario instalar 'stream-browserify':
npm install 'stream-browserify'
y agregar "stream" al archivo vue.config.js.
Sign configuration
Obtener la clave privada de la billetera, en la configuración.
Tezos.setProvider({
signer: new InMemorySigner('YOUR_PRIVATE_KEY'),
});
Interact with the smart contract
Es necesaria la dirección del contrato. Ejemplo: KT1NvFHBQv3Zkv3wmWYqYpWWR8rMdd5pUG14 .
Enviar un method:
Tezos.contract
.at('YOUR CONTRACT ADDRESS')
.then((contract) => {
return contract.methods.YOUR_METHOD(PARAMS).send();
});
Obtener una confirmación de op hash:
Tezos.contract
.at('YOUR CONTRACT ADDRESS')
.then((contract) => {
return contract.methods.YOUR_METHOD(PARAMS).send();
})
.then((op) => {
console.log(`Waiting for ${op.hash} to be confirmed...`);
return op.confirmation(1).then(() => op.hash);
});
Catch error:
Tezos.contract
.at('YOUR CONTRACT ADDRESS')
.then((c) => {
return c.methods.YOUR_METHOD(PARAMS).send();
})
.then((op) => {
console.log(`Waiting for ${op.hash} to be confirmed...`);
return op.confirmation(1).then(() => op.hash);
})
.then((hash) => console.log(`Operation injected: https://kathmandu.tzstats.com/${hash}`))
.catch((error) => console.log(`Error: ${JSON.stringify(error, null, 2)}`));
Inspeccionar los métodos de contrato y los tipos de datos:
Tezos.contract
.at('YOUR CONTRACT ADDRESS')
.then((c) => {
let methods = c.parameterSchema.ExtractSignatures();
console.log(JSON.stringify(methods, null, 2));
})
.catch((error) => console.log(`Error: ${error}`));
Enlaces de referencia