TG
web3·3 min de leitura

Básico sobre a Wax Blockchain

Links úteis e exemplos de código para começar a interagir com a Wax

Read in English
Básico sobre a Wax Blockchain

Links úteis para aprender sobre a Wax Blockchain.

  • Boas-vindas à Wax Blockchain - para desenvolvedores de DApps 💻 *

Conceitos básicos

MainNet

É a rede onde vivem os tokens e dados reais - Produção

TestNet

É a rede onde vivem os tokens falsos e dados de teste - Staging

Use a carteira da mainnet na blockchain mainnet, e a carteira da testnet na blockchain testnet. As duas não se comunicam entre si — você não consegue assinar uma transação da mainnet na testnet.

Configuração da carteira

Marketplace

Comprar, criar NFT, vender, leiloar, fazer drop, inventário, etc...

Dashboard Wax

Link para visualizar as transações na wax blockchain

https://wax-test.bloks.io/ (test)

https://wax.bloks.io/ (main)

Contrato básico para criar assets: https://wax-test.bloks.io/account/atomicassets

Documentação

A Wax é um fork da EOS, então você pode se aprofundar lendo isto

Artigos

VG Guide - Creating NFTs on the WAX Blockchain

Complete Guide To NFT Drops On WAX

estrutura conceitual de collection → schema → template | asset (mint)

APIs

Swagger API Atomicassets / Atomicmarket - Mainnet

https://wax.api.atomicassets.io/docs/#/

Swagger UI

Swagger API Atomicassets / Atomicmarket - Testnet

Swagger UI

Desenvolvedores - Código

Exemplo de chamada à API Atomic Assets

import { explorerApi } from "../services/apisSetup";

export const Collection = async (collectionName) => {
	return explorerApi.getCollection(collectionName);
};

Exemplo de chamada RPC:

import { jsonRpc } from "./apisSetup";


export async function getBalance(account: string) {
	const { core_liquid_balance } = await jsonRpc.get_account(account);

	let text = "0.00000000 WAX";
	let number = "0.00";

	if (!!core_liquid_balance) {
		text = String(core_liquid_balance);

		const onlyNumbers = text.replace(/( WAX)/g, "");
		number = Number(onlyNumbers).toFixed(2);
	}

	return { text, number };
}

Exemplo de hooks para assinar transação e interagir com o contrato:

import { UALContext } from "ual-reactjs-renderer";

const ual: any = useContext(UALContext);

async function sendActions(actions: Action[]) {
		const tx: Record<string, unknown> = await ual.activeUser.signTransaction(
			{ actions },
			defaultTxOptions,
		);
		return tx;
	}


async function createCollection(
		author,
		collectionName,
		allowNotify,
		authorizedAccounts,
		notifyAccounts,
		marketFee,
		data,
	) {
		return sendActions([
			createAction("atomicassets", "createcol", {
				author: author,
				collection_name: collectionName,
				allow_notify: allowNotify,
				authorized_accounts: authorizedAccounts,
				notify_accounts: notifyAccounts,
				market_fee: marketFee,
				data: data,
			}),
		]);
}

Exemplo de .env:

# TESTNET
# NEXT_PUBLIC_UAL_CHAIN_ID=f16b1833c747c43682f4386fca9cbb327929334a762755ebec17f6f23c9b8a12
# NEXT_PUBLIC_UAL_CHAIN_HOST=testnet.wax.pink.gg
# NEXT_PUBLIC_EXPLORER_API_ENDPOINT=https://test.wax.api.atomicassets.io
 
# MAINNET
NEXT_PUBLIC_UAL_CHAIN_ID=1064487b3cd1a897ce03ae5b6a865651747e2e152090f99c1d19d44e01aea5a4
NEXT_PUBLIC_UAL_CHAIN_HOST=wax.greymass.com
NEXT_PUBLIC_EXPLORER_API_ENDPOINT=https://wax.api.atomicassets.io

Você encontra mais conteúdo no youtube:

Busque por: how to create NFT atomic hub, how to create drop atomic hub

Thiago Marinho

18 de abril de 2022 · Brazil