⏱️Get Started
If you’re a developer ready to start building Truebit tasks, follow our Getting Started guide to install the Truebit CLI and connect to one of our pre-configured Hosted Nodes, available for community use
Prerequisites
node.js: 22.13.1 or higher
npm: 10.7.0 or higher
Public Beta considerations
During the Public Beta, Truebit will cover the cost of the blockchain transactions. To qualify, please ensure you’re registered on our platform.
1. Installing the Truebit CLI
Install the Truebit CLI globally using the command:
npm i -g @truebit/cli
2. Register into Truebit
Already have an account?
If you already registered into Truebit:
Update the secret.json file located in the ~/.truebit
directory
{
"address": "your-wallet-address",
"privateKey": "your-private-key"
}
Create new account
Please run the following command to setup a new Truebit account:
truebit setup
You will be asked to accept the Terms of Use. Once accepted, you will see the following result.
Welcome to Truebit Verify!
Your all-in-one solution to develop, build, test, and deploy tasks seamlessly.
Let's get started by setting up your account and configuring your wallet.
We'll guide you through each step to ensure a smooth experience.
**Important: Private Key Information
Truebit Verify employs a private key system to secure your account:
- A unique private key will be automatically generated for you.
- This key serves as your secure identifier within Truebit Verify.
- It's used internally to authenticate your actions.
- You won't need to manage this key directly.
We are committed to ensuring the security of your private key and safeguarding your account.
Ready to begin?
Press [Y] to proceed or [N] to exit:
Step 1 - Create an Account
Step 1: Create an Account
It appears you're a new user without a wallet configured locally.
Would you like to create a new wallet now?
Press [Y] to proceed or [N] to skip:
Once you Type "Y"
Setting up your new wallet...
Your new wallet address is: <wallet>
Your wallet information has been securely stored in /Users/<username>/.truebit/secret.json
Please keep this file safe, as it contains your credentials for using Truebit Verify.
Step 2 - Create an Account
The system will ask the following information:
Name: Your full name.
Verification Email: An email address.
Company Name: Your company’s name.
Job Position: Your job position.
EULA Acceptance: Accept the End User License Agreement (EULA). [ Y|N ]
Now that your wallet is set up, let's create your Truebit Verify account.
Please provide the following information:
1. Full Name: John Doe
2. Email Address: [email protected]
3. Company Name: Acme
4. Job Position: Senior Developer
5.Accept EULA? [Yes|No] (link to EULA): Yes
... registering your account.
Thanks for registering to Truebit Verify!
Congratulations! Your Truebit Verify account has been successfully created.
Account Summary:
- Name: John Doe
- Email: [email protected]
- Company: Acme
- Position: Senior Developer
- Wallet Address: 0xfc046e7cd36ffff3e59642387dca6dcd76c9b355
- Namespace: J349oiAO // API Key: 0x109435FR78
Run 'truebit --help' at any time to get started
If you'd like to view your personal information again, please run truebit setup
.
3. Working with your first Function Task
Download the examples
Clone the examples repository to start working with Truebit
git clone https://github.com/TruebitProtocol/truebit-nextgen-examples.git
We have created example tasks so you can get familiar with the process of testing and deploying code. You can learn more about creating your own Function and API tasks.
For now we will use one of the examples (Fibonacci) to demonstrate how to use the CLI to test and deploy Function tasks, and the platform's REST API to execute and verify them.
Build
This command will build the Fibonacci task.
truebit build truebit-nextgen-examples/function-tasks/js/fibonacci/dist -l js
Testing
This command will run the Fibonacci task and provide the result and total steps executed.
truebit start <taskId> 15
[taskId]: Add the taskId generated in the previous step.
Deploy and register your Function task
This command will deploy and register the Fibonacci task.
truebit deploy <namespace> <taskname> --taskId <taskId>
[namespace]: Use your default namespace registered in Step 2 - User Creation
[taskname]: Choose a representative name for your task. i.e: fibonacci
[taskId]: Add the taskId generated in the previous step.
4. Executing your first Function task
Execute the Function Task
Access the Task execution Swagger UI here: Swagger UI for Truebit.
Open the /task/function/execute-by-name endpoint and click "Try it Out" to test it.
Update the following parameters in the request body:
namespace: Use the namespace from Step 3 – Deploy and register your Function task.
taskname: Use the task name from Step 3 – Deploy and register your Function task.
async: Set to false.
Add your API Key from Step 2 – Register into Truebit in the x-api-key parameter.
You should receive the following answer
{
"executionId": "08c717bb-f92a-4f43-96a7-940e9ef37983",
"clearTextSolution": {
"signature": {
"v": 27,
"r": "997e437a3c2828d141ea7038e68391ffa3bbc4447c5e03e72e90b981d12cf30f",
"s": "3b503da5ba6225137ec6f546de93bbbe8a7092091c557ea1a3bc9aad27b3ba75"
},
"output": "6765",
"status": "succeed",
"senderAddress": "0x344462d1a0a3a61945aa9dd4c072df8caed1af86"
},
"status": "Success"
}
Get the transcript
Access the Transcript swagger UI here: Swagger UI for Truebit.
Use the
/task/{executionId}/transcript
endpoint, passing theexecutionId
value obtained from the previous execution as a parameter.
You should get the transcript associated with the given executionId
5. Working with your first API Task
Create-api
This command will create the API task.
truebit create-api truebit-nextgen-examples/api-tasks/petstore-crud/manifest.json
Deploy and register your API task
This command will deploy and register the Fibonacci task.
truebit deploy <namespace> <taskname> --taskId <taskId>
[namespace]: Use your default namespace registered in Step 2 - User Creation
[taskname]: Choose a representative name fr your task. i.e: petstore
[taskId]: Add the taskId generated in the previous step.
6. Executing your first API task
Execute the API Task
Access the Task execution Swagger UI here: Swagger UI for Truebit.
Open the /task/api/execute-by-name endpoint and click "Try it Out" to test it.
Add your API Key from Step 2 – Register into Truebit in the x-api-key parameter.
Update the following parameters in the request body and click on "Execute":
namespace: Use the namespace from Step 6 – Deploy and register your API task.
taskname: Use the task name from Step 6 – Deploy and register your API task.
async: Set to false.
input:
"input": {
"path": "/store/order",
"method": "POST",
"body": {
"id": 2,
"petId": 198772,
"quantity": 7,
"shipDate": "2077-08-24T14:15:22Z",
"status": "approved",
"complete": true
}
}
You should receive the following answer
{
"executionId": "fb8bbaf4-8fb6-49d7-b089-f22c37b0285e",
"clearTextSolution": {
"output": {
"id": 2,
"petId": 198772,
"quantity": 7,
"shipDate": "2077-08-24T14:15:22.000+0000",
"status": "approved",
"complete": true
},
"status": "succeed",
"senderAddress": "0xd70c3454aad1b7ec660a064d8b1fe5708d898d84"
},
"status": "Success",
"totalTransferredBytes": {
"request": 220,
"response": 438
}
}
Get the transcript
Access the Transcript swagger UI here: Swagger UI for Truebit.
Use the
/task/{executionId}/transcript
endpoint, passing theexecutionId
value obtained from the previous execution as a parameter.
You should get the transcript associated with the given executionId
7. Explore Truebit in Action
By now, you’ve gone through the full journey: From installing and registering with Truebit to creating your first task locally, deploying it to the Truebit cloud, and obtaining a verifiable transcript. Now, it's time to see everything in action on a website.
To demonstrate this, we’ve built a demo page that executes a verifiable Fibonacci computation. How does it work? The page calls the Truebit execution endpoint and retrieves the corresponding verification transcript.
Next Steps
Last updated
Was this helpful?