Package Exports
- @tableland/sdk
- @tableland/sdk/connector
Readme
@tableland/sdk
A TypeScript/JavaScript library for creating and querying Tables on the Tableland network.
Table of Contents
Background
The Tableland project provides a zero-config Typescript/Javascript SDK that make it easy to interact with the Tableland network from Ethereum-based applications. The @tableland/sdk SDK should feel comfortable to developers already familiar with the ethersjs Javascript library. The Tableland SDK provides a small but powerful API surface that integrates nicely with existing ETH development best practices.
Simply import the library, connect to the Tableland network, and you are ready to start creating and updating tables.
Note: Interested in supporting additional chains and ecosystems? Create an Issue and let us know!
Install
Installation is easy using npm or yarn. An ES bundle is also available for those operating purely in a browser environnement.
npm i @tableland/sdk⚠️ Please ensure you are using Node 18 (or newer).
If you are using versions prior to v18, you will need to provide global access to fetch. Instructions on how to implement this can be found in the node-fetch documentation here. For Node 16, in particular, you can try using the --experimental-fetch flag, which installs the fetch, Request, Response, Headers, and FormData globals.
Note: Not seeing the build type you need for your project or idea? Let us know, we're happy to work with you to improve the SDK usability!
Usage
Most common Tableland usage patterns will follow something like the following. In general, you'll need to connect, create, mutate, and query your tables. In that order :)
import { connect } from "@tableland/sdk";
// Connect
const connection = await connect({ network: "testnet" });
// Create
await connection.create("id int primary key, val text");
// Write
const write = await connection.write(
"INSERT INTO test_1 (colname) values (val1);"
);
console.log(write);
// {"hash": "blahhash"}
// Read
const query = await connection.read("SELECT * FROM test_1;");
console.log(query);
// {columns: [{name: "colname"}], rows: ["val1"]}API
Full library documentation available on GitHub, and general docs, examples, and more available on our docs site.
Feedback
Reach out with feedback and ideas:
Contributing
PRs accepted.
To get started clone this repo, then do:
# use the latest node and npm LTS
npm install
npm run build
# see if everything is working
npm testSmall note: If editing the README, please conform to the standard-readme specification.
License
MIT AND Apache-2.0, © 2021-2022 Tableland Network Contributors