An open API service indexing awesome lists of open source software.

https://github.com/soundworklabs/soundwork-sdk

TS SDK to interact with soundwork programs
https://github.com/soundworklabs/soundwork-sdk

sdk solana typescript

Last synced: 10 months ago
JSON representation

TS SDK to interact with soundwork programs

Awesome Lists containing this project

README

          

## Soundwork SDK



Soundwork SDK



TypeScript SDK to interact with the Soundwork `listing` and `bidding` programs.



Discord Chat
License
SDK


## Table of Contents

- [Installation](#getting-started)
- [Examples](#examples)
- [Contributing](#contributing)

## Getting Started

```bash
# yarn
yarn add @soundwork-oss/soundwork-sdk
# npm
npm install @soundwork-oss/soundwork-sdk
# pnpm
pnpm install @soundwork-oss/soundwork-sdk
```

## Examples

Check out the extensive list of methods you can call in the [tests directory](./tests/) for both bid and list programs.

## List Program

```ts
// import the SDK
import { SoundworkListSDK } from "@soundwork-oss/soundwork-sdk";

// Initialize the list program SDK
let listSDK = new SoundworkListSDK(provider, connection);

// list an NFT
let ix = await listSDK.createListing(nftMint, new BN(1 * LAMPORTS_PER_SOL));
let tx = new Transaction().add(ix);

await sendAndConfirmTransaction(provider.connection, tx, [userKeypair]);
```

## Bid Program

```ts
// import the SDK
import { SoundworkBidSDK } from "@soundwork-oss/soundwork-sdk";

// Initialize the list program SDK
let bidSDK = new SoundworkBidSDK(provider, connection);

// Place a bid for an NFT
let now = new Date();
let expire_ts = now.setFullYear(now.getFullYear() + 1); // ! should default to a year

let ix = await bidSDK.placeBid(
nftMint,
new BN(1 * LAMPORTS_PER_SOL),
new BN(expire_ts)
);
let tx = new Transaction().add(ix);

await sendAndConfirmTransaction(provider.connection, tx, [
buyerKeypair,
]);
```

## Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.