-
Notifications
You must be signed in to change notification settings - Fork 0
TUTORIALS.md
Document Type: Tutorials & Practical Learning Guide Project: CeloHT Status: Active / Evolving Last Updated: August 2026 Authors: Johnny Dubic & CeloHT Community
This document provides practical tutorials for users, contributors, developers, educators, agents, and community members participating in the CeloHT ecosystem.
The tutorials are designed to move from basic concepts to practical workflows.
CeloHT tutorials should prioritize:
- Simplicity
- Security
- Accuracy
- Practical learning
- Reproducibility
- Accessibility
This guide is intended for:
- New CeloHT users
- Community members
- Students
- Educators
- Agents
- Developers
- Researchers
- Contributors
- Program coordinators
No previous blockchain experience should be assumed for introductory tutorials.
Before using a CeloHT application, users should understand:
- What a blockchain is
- What a wallet is
- What CELO is
- What cUSD is
- What transaction fees are
- Why private keys must remain secret
For foundational concepts, see:
WEB3_101.md
CeloHT is a community-oriented ecosystem focused on:
- Financial inclusion
- Education
- Web3 access
- Community services
- Environmental impact
Its programs may combine blockchain technology with real-world community activities.
The Celo network is an EVM-compatible blockchain ecosystem.
At a high level:
User
↓
Wallet
↓
Celo Network
↓
Transaction
↓
Blockchain Confirmation
The blockchain records the resulting transaction state.
CELO is the native asset of the Celo blockchain.
It can be relevant to users because blockchain transactions may require network fees.
Users should verify the current network and fee requirements before making transactions.
cUSD is a stable-value digital asset available within the Celo ecosystem.
Users should understand that stable-value assets can still involve:
- Market risk
- Smart-contract risk
- Issuer risk
- Liquidity risk
- Regulatory risk
A compatible wallet can be used to interact with Celo-based applications.
General process:
Install Wallet
↓
Create or Import Account
↓
Secure Recovery Phrase
↓
Select Celo Network
↓
Connect to Application
Never share a recovery phrase with another person.
A recovery phrase or private key provides control over a wallet.
Therefore:
Never send it to:
- CeloHT
- An agent
- A developer
- Customer support
- A friend
- A website
- A social-media account
Anyone requesting a recovery phrase should be treated as suspicious.
A typical connection process is:
- Open the CeloHT application.
- Select Connect Wallet.
- Choose a supported wallet.
- Review the connection request.
- Approve the connection.
- Confirm that the correct network and account are selected.
Only connect wallets to applications you trust.
A blockchain transaction generally involves:
Transaction Request
↓
Wallet Review
↓
User Approval
↓
Network Submission
↓
Confirmation
Before approving, verify:
- Recipient
- Amount
- Asset
- Network
- Fees
After submitting a transaction, users may receive a transaction hash.
A blockchain explorer can be used to inspect publicly available transaction information.
Users should verify:
- Transaction status
- Sender
- Recipient
- Asset
- Amount
- Block confirmation
Blockchain transactions may require network fees.
Fees can vary according to:
- Network conditions
- Transaction complexity
- Wallet configuration
Users should maintain enough network-native assets to complete supported operations.
A typical CeloHT education workflow may look like:
Register
↓
Select Course
↓
Study Lessons
↓
Complete Activities
↓
Take Quiz
↓
Review Results
Actual course requirements may vary by program.
Before submitting a quiz:
- Read each question carefully.
- Select the answer you believe is correct.
- Review your selections.
- Submit the quiz.
- Review the result.
Quiz results should be interpreted according to the specific course's grading rules.
Potential contribution workflow:
Explore Project
↓
Read Documentation
↓
Find an Issue
↓
Discuss / Claim Work
↓
Create Branch
↓
Implement Change
↓
Test
↓
Pull Request
↓
Review
↓
Merge
See:
CONTRIBUTING.md
A developer can generally clone a public Git repository with Git.
Example:
git clone <repository-url>
cd <repository-directory>The actual repository URL should be obtained from official CeloHT documentation.
A JavaScript/TypeScript project commonly uses:
npm installThe correct package manager and commands should always be confirmed in the repository's README.
A typical project may use:
npm run devThe exact command depends on the repository.
Developers should read the project's setup documentation before running commands.
A project may provide commands such as:
npm testor:
npm run testThe repository documentation should define the authoritative test command.
A typical workflow is:
Create Branch
↓
Make Changes
↓
Run Tests
↓
Commit
↓
Push Branch
↓
Open Pull Request
The pull request should clearly explain:
- What changed
- Why it changed
- How it was tested
- Any known limitations
A useful bug report should contain:
- Clear title
- Environment
- Steps to reproduce
- Expected behavior
- Actual behavior
- Screenshots or logs where appropriate
- Severity
Avoid publishing secrets or sensitive personal information.
Security vulnerabilities should follow the project's responsible-disclosure process.
Do not publish sensitive exploit details publicly before the appropriate response process has been followed.
See:
SECURITY.md
Developers working with CeloHT smart contracts should understand:
- Solidity
- EVM concepts
- Contract addresses
- ABI
- Transactions
- Events
- Gas
- Access control
Smart contracts should be tested extensively before deployment.
A general development workflow is:
Write Contract
↓
Compile
↓
Unit Tests
↓
Security Review
↓
Testnet Deployment
↓
Integration Tests
↓
Verification
↓
Production Deployment
Production deployment should follow the project's release and security procedures.
When reviewing a contract, developers should look for:
- Owner/admin roles
- Upgradeability
- External calls
- Token transfers
- Access controls
- Events
- Emergency mechanisms
- State-changing functions
A contract address identifies a deployed smart contract on a specific network.
The same address should not automatically be assumed to represent the same contract across different networks.
Always verify:
- Network
- Chain ID
- Contract address
- Deployment version
Developers should test new blockchain functionality in an appropriate non-production environment before interacting with production assets.
Testing should use test assets where available.
A basic integration architecture may look like:
CeloHT Application
↓
Wallet Provider
↓
Celo RPC
↓
Smart Contract
↓
Blockchain
Applications should handle connection failures, rejected transactions, and network changes.
A typical API integration may follow:
Client
↓
Authentication
↓
API Request
↓
Validation
↓
Business Logic
↓
Database
↓
Response
Every state-changing endpoint should enforce appropriate authorization.
API credentials should be stored using secure environment configuration.
Do not place secrets directly in:
- Source code
- Public documentation
- GitHub commits
- Frontend JavaScript
- Screenshots
- Public issue reports
A development environment may use a file such as:
.env.local
Example:
DATABASE_URL=...
NEXT_PUBLIC_APP_URL=...
RPC_URL=...
Actual secret values must never be committed to a public repository.
Variables intended for browser-side use may be exposed to users.
Therefore:
Never place a secret credential in a variable that is intentionally exposed to the frontend.
Public configuration and private secrets must be separated.
A basic operational workflow is:
Application
↓
Logs
↓
Metrics
↓
Alerts
↓
Investigation
↓
Resolution
Production systems should monitor important failures and performance indicators.
If a transaction fails:
- Do not immediately repeat it.
- Check the wallet status.
- Check the transaction hash if available.
- Verify the network.
- Inspect the blockchain explorer.
- Identify the failure reason.
- Retry only after understanding the problem.
Repeated blind retries can create unnecessary transactions.
A transaction being submitted does not necessarily mean it is finalized.
Users should distinguish between:
- Pending
- Confirmed
- Failed
- Reverted
Applications should communicate these states clearly.
Agents participating in CeloHT programs should follow approved operational procedures.
A typical workflow may include:
Agent Verification
↓
Training
↓
Activation
↓
User Assistance
↓
Transaction Processing
↓
Record Keeping
↓
Reporting
Agents should never request private keys or recovery phrases.
Community educators may organize training through:
- Workshops
- Small-group sessions
- Demonstrations
- Practical exercises
- Follow-up support
Training results should be measured using clearly defined metrics.
A reforestation program may follow:
Site Selection
↓
Planning
↓
Seedling Procurement
↓
Planting
↓
Maintenance
↓
Monitoring
↓
Reporting
Planting numbers should be recorded accurately.
See:
REFORESTATION.md
Environmental program records may include:
- Location at an appropriate level of precision
- Species
- Number of seedlings
- Planting date
- Maintenance activity
- Survival observations
Sensitive location information should be protected where necessary.
A good CeloHT documentation page should contain:
Title
Overview
Purpose
Prerequisites
Steps
Examples
Warnings
Troubleshooting
Related Documentation
Documentation should be written for the intended audience.
When software behavior changes:
- Identify affected documentation.
- Update instructions.
- Verify examples.
- Check links.
- Review technical accuracy.
- Submit the documentation change.
Outdated instructions can create operational and security risks.
Before committing:
git statusReview changed files carefully.
Avoid committing:
-
.envfiles containing secrets - Private keys
- Credentials
- Personal information
- Large unnecessary files
Reviewers should examine:
- Correctness
- Security
- Tests
- Performance
- Documentation
- Maintainability
For blockchain changes, reviewers should pay particular attention to transaction and authorization logic.
Before releasing:
Review Changes
↓
Run Tests
↓
Review Security
↓
Update Changelog
↓
Update Version
↓
Build
↓
Deploy
↓
Verify
See:
RELEASE_PROCESS.md
During an incident:
- Identify the problem.
- Protect users and assets.
- Contain the issue.
- Investigate.
- Recover service.
- Verify recovery.
- Document the incident.
- Implement corrective actions.
A recommended learning sequence is:
Blockchain Basics
↓
Wallets
↓
Transactions
↓
Celo
↓
CELO / cUSD
↓
Smart Contracts
↓
dApps
↓
Web3 Security
Developers can progress through:
HTML / CSS
↓
JavaScript
↓
TypeScript
↓
React
↓
Next.js
↓
APIs
↓
Databases
↓
Blockchain Integration
↓
Smart Contracts
CeloHT can be used as a practical learning environment for understanding how:
- Community programs
- Open-source software
- Web3
- Education
- Environmental initiatives
can interact within a single ecosystem.
When something does not work:
- Reproduce the problem.
- Record the exact error.
- Identify the affected component.
- Check configuration.
- Check logs.
- Check recent changes.
- Test the smallest possible fix.
- Verify the result.
Avoid changing multiple unrelated components simultaneously.
Potential causes include:
- Wrong network
- Wrong account
- Wallet disconnected
- Insufficient funds
- RPC problems
- User rejection
- Application configuration errors
Always verify the network before attempting another transaction.
Potential causes include:
- Incorrect Node.js version
- Missing dependencies
- Missing environment variables
- Build errors
- TypeScript errors
- Database configuration
- RPC configuration
Repository-specific documentation should provide authoritative setup requirements.
CeloHT will never legitimately need a user's:
- Seed phrase
- Recovery phrase
- Private key
- Wallet password
Protect these credentials at all times.
Tutorials should be reviewed when:
- APIs change
- Wallet integrations change
- Celo network configuration changes
- Dependencies change
- Development workflows change
- Security requirements change
Users should also consult:
QUICK_START.mdUSER_GUIDE.mdWEB3_101.mdSECURITY.mdSMART_CONTRACTS.mdTESTING.mdTECH_STACK.mdRELEASE_PROCESS.mdCONTRIBUTING.md
Tutorials should turn CeloHT documentation into practical knowledge.
The objective is not merely to tell users what CeloHT is, but to help them safely understand, use, contribute to, and build within the ecosystem.
The guiding principle is:
Learn the concept, practice the workflow, verify the result, and protect the user at every step.
Document Status: Active / Evolving Maintained By: CeloHT Community Primary Authors: Johnny Dubic & CeloHT Community
© 2026 CeloHT - Open Source. Global Impact. Licensed under Apache.