Truebit Verify
  • Getting Started
    • 📄What is Truebit Verify?
      • How does Truebit work?
      • System Actors
    • ⏱️Get Started
    • ⚙️Architecture
      • Truebit Verify Hub
      • Truebit Verify Nodes
      • What is a transcript?
        • Transcript example
        • API Transcript example
    • Key Concepts
      • What is verification?
      • Determinism
      • WebAssembly
      • Task instrumentation
  • Developing Truebit Tasks
    • Introduction
    • Writing Function Tasks
      • Supported languages
        • Javascript
        • Python
        • Rust
    • Writing API Tasks
    • Task examples
      • Function Task examples
        • Fibonacci
        • Reverse Alphabet
        • Encrypt sha256 using bun.js
        • Encrypt sha256 using Deno
        • ECDSA signature verification
        • NumPy example
      • API Task examples
        • Pet Store CRUD
        • API-Auth examples
    • Namespace management
    • Task Authorization
    • Truebit CLI
      • secret.json
  • Executing Truebit tasks
    • Introduction
    • Task Execution API
      • Execute Function Tasks
      • Execute API Tasks
      • Get Task Status
    • Transcript API
      • Get Transcript
      • Get Invoice
  • Community
    • Truebit Unchained Protocol
    • Support
Powered by GitBook
On this page
  • Prerequisites
  • Public Beta considerations
  • 1. Installing the Truebit CLI
  • 2. Register into Truebit
  • Already have an account?
  • Create new account
  • 3. Working with your first Function Task
  • Download the examples
  • Build
  • Testing
  • Deploy and register your Function task
  • 4. Executing your first Function task
  • Execute the Function Task
  • Get the transcript
  • 5. Working with your first API Task
  • Create-api
  • Deploy and register your API task
  • 6. Executing your first API task
  • Execute the API Task
  • Get the transcript
  • 7. Explore Truebit in Action
  • Next Steps

Was this helpful?

  1. Getting Started

Get Started

PreviousSystem ActorsNextArchitecture

Last updated 23 days ago

Was this helpful?

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

  • or higher

  • 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:

{
  "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: john.doe@example.com
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: john.doe@example.com 
- 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

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

  1. Open the /task/function/execute-by-name endpoint and click "Try it Out" to test it.

  2. 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.

  3. Add your API Key from Step 2 – Register into Truebit in the x-api-key parameter.

If you don’t remember your namespace or API key, please run truebit setup again to retrieve your personal information.

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

  • Use the /task/{executionId}/transcript endpoint, passing the executionId value obtained from the previous execution as a parameter.

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

  1. Open the /task/api/execute-by-name endpoint and click "Try it Out" to test it.

  2. Add your API Key from Step 2 – Register into Truebit in the x-api-key parameter.

  3. 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
    }
  }

If you don’t remember your namespace or API key, please run truebit setup again to retrieve your personal information.

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

  • Use the /task/{executionId}/transcript endpoint, passing the executionId value obtained from the previous execution as a parameter.

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.

Next Steps

Update the file located in the ~/.truebit directory

A new file containing your account information has been created at: /Users/<username>/.truebit/secret.json.

We have created so you can get familiar with the process of testing and deploying code. You can learn more about creating your own and tasks.

Access the Task execution Swagger UI here: .

Access the Transcript swagger UI here: .

You should get the associated with the given executionId

Access the Task execution Swagger UI here: .

Access the Transcript swagger UI here: .

You should get the associated with the given executionId

To demonstrate this, we’ve built a page that executes a verifiable Fibonacci computation. How does it work? The page calls the Truebit execution endpoint and retrieves the corresponding verification transcript.

.

.

⏱️
secret.json
secret.json
example tasks
Function
API
Swagger UI for Truebit
Swagger UI for Truebit
transcript
Swagger UI for Truebit
Swagger UI for Truebit
transcript
demo
Follow our step-by-step guide to start creating your own Truebit tasks
Visit the architecture page to learn more about Truebit's architecture
node.js: 22.13.1
npm: 10.7.0