Trustless Work
  • Welcome
    • Why Escrows Matter
    • 🛤️Our Journey so Far
      • 🤔The Problem: Origins of Trustless Work
      • 👾The team comes together
      • 💡The Solution: Escrows
      • 🏆Key Milestones
        • 🌠DraperU Stellar Astro Hacker House: A Pivotal Moment
        • Launching the API V1 at ETH Pura Vida Hackathon
      • 🚀Current Programs
        • 🌟DraperU Embark Program
        • 💻OD Hack Campaigns
      • 🛠️Vertical Development
      • 🔮Future Vision
  • 📌Start Here
    • ☀️About Trustless Work
      • Vision and Mission
      • Team
  • ⚒️Understanding Smart Escrows
    • 🥸Smart Escrow Design
      • What does a Smart Escrow "look like"?
      • Roles in Trustless Work
      • Escrow Lifecycle
        • Initiation Phase
        • Funding Phase
        • Complete phase
        • Approval phase
        • Release phase
        • Dispute Resolution
    • 💵USDC: The Stablecoin Powering Trustless Work
    • 🌟Stellar & Soroban: The Backbone of Trustless Work
  • 💻Developer Resources
    • Introduction
    • Schema
    • Types
      • Basic
      • Entities
      • Payloads
      • Responses
      • Errors
    • Quickstart
      • Integration Demo Project
        • Getting Started
        • Configuration
        • Context API
        • Wallet Setup
        • Trustlines
        • Services
        • Helpers
        • Error Handling
        • Forms
          • Initialize Escrow
          • Fund Escrow
          • Get Escrow
          • Get Multiple Escrow Balances
          • Resolve Dispute
          • Change Milestone Status
          • Change Milestone Flag
          • Change Dispute Flag
          • Release Funds
          • Update Escrow
        • UI Components
          • Pages
          • Cards
          • Tabs
          • Utils
    • Authentication
      • Request Api Key
    • API Reference
      • Deploy
        • Initialize Escrow
      • Escrows
        • Fund Escrow
        • Get Escrow
        • Resolve Dispute
        • Change Milestone Status
        • Change Milestone Flag
        • Start Dispute
        • Release Funds
        • Update Escorw
      • Helpers
        • Set Trustline
        • Send Transaction
        • Get Multiple Escrow Balance
    • React Library
      • Getting Started
      • useSendTransaction
      • useGetEscrow
      • useGetMultipleEscrowBalances
      • useInitializeEscrow
      • useUpdateEscrow
      • useFundEscrow
      • useChangeMilestoneApprovedFlag
      • useChangeMilestoneStatus
      • useReleaseFunds
      • useStartDispute
      • useResolveDispute
    • 🚀Smart Escrow API
    • 🧰Essential Tools for Developers
      • Stellar Wallets
        • Freighter Wallet
        • Albedo Wallet
        • xBull Wallet
        • Rabet Wallet
        • Lobstr Wallet
        • Hana Wallet
        • Additional Resources
        • Troubleshooting & FAQs
      • How to Get Testnet Tokens
  • 🌍Use Cases by Industry
    • Marketplaces & E-commerce
    • Grants, Bounties, and Hackathons
    • P2P Exchanges and OTC Desks
    • Security Deposits
    • Milestone-based Freelance & Contract Work
    • Crowdfunding & Pre-orders
    • DAO Treasury & Working Group Budgets
    • Education & Online Courses
    • Subscription + Performance-based Retainers
  • 🤖Using the dApp
    • Step 1: Accessing the Trustless Work Dapp and Logging In
    • Step 2: Creating a Profile and Requesting an API Key
    • Step 3: Creating an Escrow
    • Step 4: Funding an Escrow
    • Step 5: Marking a Milestone as Done ✅
    • Step 6: Approving the Milestone
    • Step 7: Releasing the Payment
    • Resolving Disputes
  • 🏴‍☠️Community
    • 🌎Spotlight: Kindfi
    • 🛣️Roadmap: The Journey Ahead
    • Contributor's Guide
    • 📂Open-Source Templates & Developer Tools
  • ✒️Background & Theory
    • 📘Core Concepts & Escrow Glossary
    • 🎒Historical Context
      • 📜Escrow History:
        • 🗿Ancient to Colonial Era
        • 🏦Banking Era (19th - 20th Century)
        • 💻The Digital Era and Online Escrow
      • ⛓️Blockchain Era: Smart Escrows
  • Links
    • ⚒️Trustless Work dApp
    • 🌐Trustless Work Website
    • 📣Telegram Chat
    • 💎Only Dust Profile
    • 👩‍💻Swagger for API
    • 📜Github
  • 📢Appendices
    • Contact and Support
    • Notion for Startups
    • Meru
Powered by GitBook
LogoLogo

Links

  • Website
On this page
  • Overview
  • Links
  • Setup

Was this helpful?

Export as PDF
  1. Developer Resources
  2. React Library

Getting Started

PreviousReact LibraryNextuseSendTransaction

Last updated 6 days ago

Was this helpful?

Overview

Trustless Work React library is a collection of React hooks and entities. It combines the following packages:

  • for https requests.

  • from fetching data.


Links

Setup

1

Installation

Start by installing Trustless Work React Library.

npm i @trustless-work/escrow
yarn add @trustless-work/escrow

2

Configure the provider

The next step is to configure the Trustless Work provider. You need to configure the following:

  • baseURL: Trustless Work URL, this should be the main or development environment. We provide mainNetand developmentconstants. So you only need to import one of them and pass it to the baseURL prop.

  • apiKey: Authorization provided by our dApp to use the API.

Trustless Work React provides the TrustlessWorkConfig to provides all the custom hooks and entities to the whole project. To achieve this you'll need to create a Provider.

src/trustless-work-provider.tsx
"use client"; // make sure this is a client component

import React from "react";
import {
  // development environment = "https://dev.api.trustlesswork.com"
  development,

  // mainnet environment = "https://api.trustlesswork.com"
  mainNet,
  TrustlessWorkConfig,
} from "@trustless-work/escrow";

interface TrustlessWorkProviderProps {
  children: React.ReactNode;
}

export function TrustlessWorkProvider({
  children,
}: TrustlessWorkProviderProps) {
  /**
   * Get the API key from the environment variables
   */
  const apiKey = process.env.NEXT_PUBLIC_API_KEY || "";

  return (
    <TrustlessWorkConfig baseURL={development} apiKey={apiKey}>
      {children}
    </TrustlessWorkConfig>
  );
}
3

Wrap your app in the provider

Wrap your app in the provider just created.

app.tsx
import { TrustlessWorkProvider} from "@/trustless-work-provider.tsx";
 
export function App() {
  return (
    <TrustlessWorkProvider>
      <YourApp />
    </TrustlessWorkProvider>
  );
}

Notice that if you are using Next.js app routes, you should place the provider in the root layout file.

app/layout.tsx
import { TrustlessWorkProvider} from "@/trustless-work-provider.tsx";
 
export default function RootLayout({ children }: { children: React.ReactNode }) {
  return (
    <html lang="en">
      <body>
        <TrustlessWorkProvider>
          {children}
        </TrustlessWorkProvider>
      </body>
    </html>
  );
}
4

Using hooks and entities

You can now use the Trustless Work React hooks and entities from any component wrapped by the root provider!

💻
Axios
Tanstak Query
npm: @trustless-work/escrownpm
GitHub - Trustless-Work/react-library-trustless-work: An open-source library that makes integrating Trustless Work simple and seamless.GitHub
Logo
Logo