Getting Started
Overview
Trustless Work React library is a collection of React hooks and entities. It combines the following packages:
Axios for https requests.
Tanstak Query from fetching data.
Links
Setup
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 providemainNet
anddevelopment
constants. 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.
"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>
);
}
Wrap your app in the provider
Wrap your app in the provider just created.
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.
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>
);
}
Important: This library offers seamless integration and allows flexibility with single-release or multi-release escrow options. Simply use the appropriate type
parameter and required payload
for your needs
Last updated
Was this helpful?