
Explore Wax blockchain docs and how to get help. Set up docker across Windows, Mac, and Linux, starting to build a smart contract using number generators for NFT RNG.
Explore the Wax blockchain fork from Eos and the contract development toolkit, including WACs and JavaScript interfaces to the code wallet, while comparing iOS and Wax networks.
Install and run docker images for wax development and the wax contract development toolkit, map a wx directory to each container, and open interactive bash shells for contract development.
Learn how to manage docker images and containers by starting, stopping, attaching, listing, restarting, and deleting containers, understanding the difference between deleting a container and an image, and viewing logs.
Start the docker container for the wax test network, connect with cleos, and fetch network information to verify connectivity; wax is a fork of eosio.
Start keosd and nodeos to run a local wax blockchain, manage wallet keys in the keys directory, and monitor logs to verify block production.
Connect to the WAX blockchain by installing and using curl and cleos, and learn to issue post requests with proper headers and endpoints while verifying network information with simple commands.
Create and manage a wax wallet, import eosio private keys, and unlock wallets using cleos commands. Understand active and owner keys and private key security.
Discover how to build a smart contract on wax/eos with the cpp-based contract development toolkit, including abi files, samples, templates, and web assembly compatible tools.
Discover how the WAX blockchain charges resources—cpu, net, and ram—through staking, usage, and memory purchases, with daily resets and potential refunds upon sale.
create your first smart contract on wax by initializing a wx project, organizing files in header and source with a build folder, and learning how cmake compiles the code.
learn how to compile a smart contract using cmake and make inside a container to generate the abi and wasm files for a wax blockchain project.
Explore the differences between the primary account, smart contract account, and customer account on iOS or WEX, and learn how the main account creates accounts and deploys contracts.
Deploy your Wax smart contract to the local blockchain by using your wallet and active key, validate the contract with cleos push action, and test the high action.
Create an account, obtain fake WX, stake CPU, and run with fake resources locally, then deploy the contract to the Wax testnet and apply to the actual test network.
Create a WAX testnet account with a 12-character name, obtain free fake WAX tokens, and securely store active and owner keys to start funding RAM, CPU, and net.
Create a testnet wallet on the wax blockchain, import private keys securely, and prepare for contract work by buying RAM and staking CPU and NET.
Deploy and set deployment permissions for your wax smart contract on the wax testnet, unlock your wallet, and deploy using cleos with your contract's abi and wasm files.
Unlock your wax wallet, push the hi action to your contract on the wax testnet, and verify the transaction on the block explorer.
Explore blockchain oracles and how they fetch verifiable random numbers for a RNG action on the WAX blockchain, ensuring all nodes share the same result via off-chain services.
Create a new RNG smart contract on the WAX blockchain using oracle integration. Initialize the project, set up header and source files, and organize the contract for NFT RNG.
Implement contract scaffolding in c++ by adding a new function to the hpp file and defining actions. Explain compiling inside a container, using namespace eio, public contract, and action wrappers.
Learn to implement an action in the C++ file for a wax smart contract by including the header, placing the action in the Wykes class, and printing name and value.
Compile the project with cmake and make to generate wasm and abi files, fix C++ errors like missing semicolons, and verify contract deployment and function calls.
Create and set up a Wax smart contract table to store the calling customer, final number, and wallet name, using structs, macros, and primary key definitions for blockchain data retrieval.
Create a type definition for the WAX table and a mood index table, applying proper naming rules and declaring a variable to access table data for contract initialization.
Initialize the wax smart contract by adding a default constructor for the table and customers, passing receiver, code, and data values, then compile to verify setup.
Compile the contract with cmake and fix a cascade of errors from a missing table column. Correct the constructor initialization using the receiver and hex value, and prep for deployment.
Create a new testnet account with staked WAX for CPU and NET, buy RAM, and unlock your wallet to deploy the smart contract on the WAX blockchain.
Set up the account, configure permissions, and deploy the new smart contract to the Wax testnet, then verify account details, memory usage, and contract deployment success.
Discover how to fetch Wax testnet table data using cleos and Bloks.io, querying a contract's table by account, scope, and table name, with hands-on steps and empty-table checks.
Declare new actions in the smart contract header and build action wrappers for get_random and receive_range, with proper names and parameters. Prepare for implementation in the next class.
Implement the get random action, verify and insert the customer, then broadcast a request to the blockchain oracle to obtain a random number for NFT RNG on the WAX blockchain.
Implement a function to receive an oracle response with a customer ID, verify the signature, compute a random 0-100 value, and update the customer record via a callback.
Compile and fix a WAX smart contract, then deploy to the test network using the same account, after unlocking the wallet and resolving compile-time errors and deployment issues, including rent.
learn how to buy ram on the wax network, allocate memory bytes, and deploy a smart contract using cleos commands on a testnet.
Learn to interact with a WAX smart contract on the CLI to get a random number via an oracle, push action, and read results from contract tables.
Create nfts using simple assets on wax with a smart contract. Learn to mint, transfer, and manage assets and their data, and understand memory and ram payment.
Create an action to mint an NFT using Simple Assets on the WAX blockchain, configuring name, category, and owner, plus JSON data for immutable and mutable fields.
Send the created action to the simple assets contract to create a new non-fungible token, passing name, category, owner, ai data, and claim with active permission.
Compile the WAX smart contract and deploy it to the network, unlocking your wallet to sign the transaction. Use folder paths and scripts, and fund with rain to complete deployment.
Restart the docker container, attach to it, ensure the wallet is open and unlocked, recreate the wallet with imported keys if needed, then push the create action to your contract.
Deploy a contract on the WAX network, push actions to create an NFT, and read its data from the assets table to display owner, category, and image in a UI.
Discover how the get table command shows count, scope, and table, and why the account and scope point to the simple assets contract and its assets table for NFTs.
Create a React front end to interact with a WAX blockchain smart contract, retrieving user names and wallet authorization. Start the app with npm start on localhost to see updates.
Provide a quick React overview and clean up the code by deleting unused header and logo, trimming test files, and clarifying the index root injection for future blockchain work.
Install the waxjs library with yarn or npm, verify it in package.json, and import the library to enable wax blockchain interaction and server connection using hooks.
Learn how to add a login button in a React app, implement an onClick handler, and prepare to send a message to the block chain to log in a user.
Initialize the wax network and log in to the Wax blockchain, then fetch the wallet name and public keys via an async login flow with error handling.
Learn to initialize a Wax connection in a component using the useEffect hook, handling scope, login, and cleanup to start the app reliably.
Use the useState hook to manage and display the wallet account and public keys on screen, including login flow and handling no wallet linked states.
implement auto login for already registered users by checking login availability and invoking an asynchronous login flow when the user clicks keep my user, ensuring the wallet auto-loads.
Add a new user actions component to send a WAX blockchain transaction, manage login state with useState, and pass wallet credentials and user data via props for dynamic UI actions.
Refactor to rely on WAX state, trigger actions with use effect on WAX state changes, and login only when WEX exists and logging is available.
Note: This course is on PRE-RELEASE more classes are been added weekly until the full course is finished, I expect the full course to have something between 6 and 8 hours.
What is WAX? WAX stands for Worldwide Asset eXchange and is a blockchain specifically made for trading virtual items such as rare and collectible items in video games and virtual worlds.
WAX is fully compatible with EOS smart contracts and offers free blockchain accounts and cheaper fees. This course will provide you with an overview of how to deploy your EOS/WAX dApps to our local test network, them to the WAX Testnet where we will interact with other contracts such as a blockchain Oracle for Random number generator and the contact for Simple Assets to create NFTs and finally after that to the WAX mainnet.
This course will use C++ to write the contract, contracts on the WAX network can be written in any language that compiles to WebAssembler, however, I decide to use C++ as it is the language with more support at the moment.
Even the course has been in C++ if you have any understanding of programming you should be able to follow the course along without problems, I take the student step by step while writing and reading the contract, explaining every command and comparing it to other languages more common such as JavaScript or C# so don't be intimidated by it, also I'm always around helping students and answering questions.