Apply Self-Problems
Want to add your problems in the DappChef for Exam or Homework?
Please Read the Agreement First, then submit your application to our email with the requirements in What you need to do if you want to upload the problems.
Receiving the reply mail means your submission is accepted. We will arrange a meeting in a period depends on the volume and priority.
Agreement
Applying to put your problems on the DappChef means you want to become our Education Collaborator. Hence, you should be education institution / teacher / professor / instructor / teaching staff, and you(or your org.) will appear in the bottom of DappChef Website.
If your coding problems are used for Free Camping / Workshop, NPO or University Program, you could upload the problems in FREE. In other words, if you are Profit-oriented Education Institution, applying to upload your problems will COST little.
Putting problems on the DappChef means you agree that EVERYONE on the planet could write these problems in any time.
Placement Marketing or showing your Logo or statements of brands in the problem is allowed. But the context MUST NOT include any illegal behavior or infringe the intellectual property.
DappChef and SWF Lab have the final say about the problem setting. If the context negotiation doesn't have the consensus, the problem will be taken off the shelves.
Final Revised in GMT+8 (Taipei) 2023-03-06 10:59.
What you need to do if you want to upload the problems
You have to prepare the below information carefully, or it will be too long to process.
Prepare your(or your org's) Information:
Name
Usage Attribute(e.g. Personal, Camping, Workshop, NPO, University Program, Education Institution)
Profit-oriented or not(attach your pricing table will help the negotiate process)
Contact Persion's information(name, e-mail, position, time-zone, location, )
Prepare your(or your org's) Logo which will show in the bottom of website.
Prepare your problems, EACH problem should has:
Problems' statement: what is your problem target.
Problems' Answer Code in Solidity
Problems' Body: please empty some code or function body of target points, and add enough TODO comments let the user know how to solve the problems.
Problems' constructorCallData: if none, empty.
Series of Problems' Testdata: called which function with what input parameters should get what expected return.
Problems' RewardNFT Image: you should design a unique RewardNFT for each problem.
Problems' Reference or Resource: where does this problem come from. (e.g. from Myself, from <Book_Name>, from <Article_or_Turtorial_URL>, from <Github_Repo_URL>)
If you want to test some special cases, but don't know how to present, you can also contact DappChef with mail. We will arrage meeting with you to help design and complete your problem!
Besides basic write-function and read-function judging, what special operations we are supporting now:
✅ Constructor: Deploy the contract with constructor call data
✅ Event: Expect the specific events to be emitted
✅ EXPECT_ERROR: Expect the
require
,revert
,assert
to be triggered.✅ WITH_ETHER: Send Ether (or call function with ether) to the Contract
✅ MSG_SENDER: Use User's Address to be expectReturn or callData
❌ WAIT: Wait for few blocks
❌ GAS_USED_LESS: Expect the total gas used less than specific amount.
How to know the grade of my students?
You should collect the addresses from your students. And they MUST use the address which they submitted to solve the problem.
We will supply you a Educational Answering Status Dashboard and a Key-Pair.
You could log-in the dashboard with the key-pair and search the user answering status with address.
You could download the target users' grade of relative problems in CSV.
Theoretically, you could search the user's answering status with the Blockchain Explorer or Reward NFT Contract too.
Last updated