This platform enables educators to create courses as NFT Collections and issue NFT Certificates to students upon course completion.
All data is stored on TON Blockchain and IPFS (Pinata) to ensure transparency, security, and decentralization.
- Creates courses (NFT Collections).
- Manages course materials.
- Grades quizzes submitted by students.
- Issues NFT Certificates upon course completion.
- Enrolls in courses by paying a TON fee.
- Accesses course materials after enrollment approval.
- Completes quizzes and submits answers via encrypted transactions.
- Requests an NFT Certificate after finishing the course.
Educators create courses as NFT Collections.
- Fill in course details (metadata).
- Upload course thumbnail & materials to IPFS (Pinata).
- Deploy an NFT Collection smart contract with the metadata.
- Register the course in the Global Registry (small TON fee required).
{
"name": "Blockchain Development Course",
"description": "Master blockchain technology and receive an NFT certificate upon completion.",
"image": "https://example.com/course-thumbnail.png",
"video": "https://example.com/course-intro.mp4",
"attributes": {
"category": "IT/etc.",
"duration": "12 weeks",
"level": "Beginner to Advanced",
"lessons": 30
},
"modules": [
{
"title": "Module Name",
"lessons": [
{
"title": "Introduction to Blockchain",
"video": "https://example.com/module1.mp4",
},
{
"title": "Introduction to Blockchain",
"video": "https://example.com/module1.mp4",
},
],
"quiz": {
"title": "Blockchain Basics Quiz",
"questions": [
{
"question": "What is a blockchain?",
"answers": ["A centralized database", "A distributed ledger technology", "A type of cryptocurrency", "A cloud storage service"]
}
],
"correct_answers": "encrypted_by_educator_public_key"
}
},
],
"social_links": [
"https://t.me/BlockchainCourse", "https://linkedin/in/ansinitro"
]
}
Students enroll in a course by sending a TON transaction with personal data (encrypted).
- Student sends TON Coins to the NFT Collection smart contract.
- The contract emits a transaction for tracking purposes.
- Educator receives an enrollment request and manually grants access to private course materials (e.g., YouTube private videos).
{
"email": "student@gmail.com",
"iin": "050201038281"
}
β Storage Optimization:
- Instead of storing enrollment data on-chain (which is costly π°), it is stored as emitted events.
- The backend will scan blockchain transactions and cache enrollments for fast access.
β Example Emit Message for Backend Tracking:
emit ("enrolled", { student_wallet: <student_address>, course_id: <NFT_Collection_Address> });
Students submit quiz answers via encrypted transactions.
- The student encrypts answers with the educatorβs public key.
- The encrypted data is sent as a TON transaction message.
- The educatorβs backend decrypts the answers and grades the student.
β Security Consideration:
- If an educator's private key is compromised, the educator must publicly announce it to invalidate past certificates.
Students request an NFT Certificate after passing all quizzes.
- The student sends a TON transaction with the message
"Request NFT Certificate"
. - The backend verifies if:
- The student has enrolled.
- The student has passed all quizzes.
- The educator approves the certificate issuance.
- The NFT Certificate (NFT Item) is minted.
β Certificate Minting Fee is pre-paid by the educator (included in the course price).
{
"name": "Blockchain Development Course Certificate",
"description": "Awarded upon completion of the course.",
"image": "https://example.com/certificate.png",
"content_url": "https://example.com/certificates/blockchain_course_certificate.pdf",
"attributes": [
{"trait_type": "Average Grade", "value": "92%"},
{"trait_type": "Completion Date", "value": "2025-02-22"},
{"trait_type": "Instructor", "value": "Dr. Jane Doe"},
{"trait_type": "Student_IIN", "value": "050204814823"},
{"trait_type": "email", "value": "student@gmail.com"}
],
"quiz_grades": ["100%", "100%", "100%", "70%", "90%"]
}
β Verification Process:
- Each certificate has a QR code linking to the blockchain explorer for employer verification.
- NFTs couldn't be transferred, that's why they're always verified.
- Listens for student transactions (enrollments, quiz submissions, certificate requests).
- Processes quiz answers and calculates grades.
- Approves certificate issuance by interacting with the NFT Collection contract.
β No External Database Needed
- The backend fetches all data directly from the blockchain.
- Uses TON HTTP API (GetBlock) or Anton Indexer to retrieve transaction history.
β
No Intermediaries β Payments go directly to educators.
β
Immutable Proof β Certificates cannot be faked or altered.
β
Transparent & Public β All transactions are on TON Blockchain.
β
Cost-Efficient β Smart contract storage is minimized.
β
Easy Verification β Employers can verify certificates instantly.
β
Scalable β New educators and students can join permissionlessly.
β
Highly Secure β The backend does not communicate with the public internet or rely on external databases, making it resistant to hacking. It only listens to TON Blockchain transactions, ensuring trustless execution without vulnerabilities to traditional cyberattacks.
π‘ The next milestone is to implement the smart contracts and deploy the frontend interface.
- Frontend: React + TON Web3 SDK
- Backend: Go + TON API (GetBlock) / Anton Indexer
π Steganography in Certificates β Embed signed messages inside certificate images.
π AI-based Auto-Grading β Use machine learning to assist educators in grading.
π Web3 Reputation System β Build on-chain credibility for educators.