Web3
DAPPs
Introducción

Introducción

Ahora integremos blockchain y contratos inteligentes en un sitio web. Para ello usamos la librería @bywise/provider (opens in a new tab) y @bywise/web3 (opens in a new tab)

Usemos este proyecto NextJS como ejemplo:

Primero creamos una nueva instancia del proveedor. Le pasamos como parámetro la red a la que se conectará.

const chain = 'mainnet'
const provider = new BywiseProvider(chain);

Creamos el botón Try Connect que intenta conectarse con la billetera del usuario. Después de eso, obtenemos información de la dirección conectada.

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

Ahora que estamos conectados, podemos intentar realizar una transacción simple.

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