Welcome to the GUDA Token Contract repository! This contract supports the GUDA token, a unique cryptocurrency embodying a badge of honor, representing a journey through challenges and personal growth. Earn Gudabits for real-life challenges and redeem them for NFTs.
- Project Name: GUDA
- Website: GUDA
- Description: GUDA is more than a symbol; it is a badge of honor, a testament to your journey through the shadows and your emergence into the light. Earn Gudabits for IRL challenges that transmute your shadows, found in Discord. Every Gudabit (0.00000001 GUDA) is redeemable for an NFT via the drops.guda contract.
- Tags: Social, Challenge, Celebrity, Meme, NFT
- GitHub Repository: GUDA Token
- Social Media:
The GUDA Token contract includes the following features:
- Token Creation: Create a new token with a maximum supply.
- Minting: Mint tokens to a specified account.
- Burning: Burn tokens from a specified account.
- Transfer: Transfer tokens between accounts.
- Vesting: Vest tokens for a specified period and claim vested tokens.
- Account Management: Open and close token accounts.
ACTION create(const eosio::name& issuer, const eosio::asset& maximum_supply);
Creates a new token with a specified maximum supply.
ACTION mint(const eosio::name& to, const eosio::asset& quantity, const std::string& memo);
Mints tokens to a specified account.
ACTION burn(const eosio::name& burner, const eosio::asset& quantity, const std::string& memo);
Burns tokens from a specified account.
ACTION transfer(const eosio::name& from, const eosio::name& to, const eosio::asset& quantity, const std::string& memo);
Transfers tokens between accounts.
ACTION vest(const eosio::name& to, const eosio::asset& quantity, uint64_t vest_seconds, const std::string& memo);
Vests tokens for a specified period.
ACTION claimvest(uint64_t id, const eosio::asset& quantity);
Claims vested tokens after the vesting period is over.
ACTION open(const eosio::name& owner, const eosio::symbol& symbol, const eosio::name& ram_payer);
Opens a token account for a specified owner.
ACTION close(const eosio::name& owner, const eosio::symbol& symbol);
Closes a token account for a specified owner.
static eosio::asset get_supply(const eosio::name& token_contract_account, const eosio::symbol_code& sym_code);
Returns the supply of a token.
static eosio::asset get_balance(const eosio::name& token_contract_account, const eosio::name& owner, const eosio::symbol_code& sym_code);
Returns the balance of a specified account.
TABLE account {
eosio::asset balance;
uint64_t primary_key() const { return balance.symbol.code().raw(); }
};
TABLE currency_stats {
eosio::asset supply;
eosio::asset max_supply;
eosio::name issuer;
uint64_t primary_key() const { return supply.symbol.code().raw(); }
};
TABLE vest_record {
uint64_t id;
eosio::asset vested_balance;
eosio::name receiver;
uint64_t vested_until;
uint64_t primary_key() const { return id; }
};
TABLE burner_record {
eosio::name burner;
eosio::asset total_burned;
std::string last_memo;
uint64_t primary_key() const { return burner.value; }
};
To deploy and interact with the GUDA token contract, follow these steps:
-
Clone the repository:
git clone https://github.com/dougbutner/guda-token.git cd guda-token
-
Compile the contract:
eosio-cpp -o guda.wasm guda.cpp --abigen
-
Deploy the contract to your EOSIO blockchain:
cleos set contract <account> <path-to-contract-directory>
-
Interact with the contract using
cleos
or any other EOSIO-compatible tool.
We welcome contributions to the GUDA token contract! Please feel free to submit issues, fork the repository, and create pull requests.
This project is licensed under the MIT License. See the LICENSE file for details.
Join our community and stay updated with the latest news and updates:
🜛 GUDA Token Contract 🜛