Introdução
Agora vamos integrar a blockchain e os contratos inteligentes em um site. Para isso nós utilizamos a biblioteca @bywise/provider (opens in a new tab) e @bywise/web3 (opens in a new tab)
Vamos utilizar este projeto em NextJS como exemplo:
- Github: https://github.com/DevelBlockchain/web3-bywise-example (opens in a new tab)
- Exemplo: https://develblockchain.github.io/web3-bywise-example (opens in a new tab)
Primeiramente criamos uma nova instancia do provider. Passamos como parâmetro a rede que ele vai se conectar.
const chain = 'mainnet'
const provider = new BywiseProvider(chain);
Criamos o botão Try Connect
que tenta realizar a conexão com carteira do usuário. Depois disso, nós buscamos algumas informações do endereço conectado.
const connect = async () => {
const userInfo = await provider.connect();
if (userInfo) {
console.log('userInfo', userInfo)
setAddress(provider.address)
const infoBlockchainUser = await provider.web3.wallets.getWalletInfo(provider.address, chain);
console.log('infoBlockchainUser', infoBlockchainUser)
if (infoBlockchainUser) {
setBalance(infoBlockchainUser.balance)
setName(infoBlockchainUser.name)
}
setConnect(true);
}
}
Agora que estamos conectados, podemos tenta realizar um transação simples.
const trySendTransaction = async () => {
const result = await provider.send({
to: [BywiseHelper.ZERO_ADDRESS],
amount: ['0'],
type: TxType.TX_JSON,
data: {
myData: `huehuehue`
}
});
if (result) {
console.log('result', result)
alert(`success - txId: ${result.tx.hash}`);
} else {
alert(`canceled transaction`);
}
}