Web3
DAPPs
Introdução

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:

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`);
    }
}