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:
- Github: https://github.com/DevelBlockchain/web3-bywise-example (opens in a new tab)
- Ejemplo: https://develblockchain.github.io/web3-bywise-example (opens in a new tab)
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`);
}
}