vaske / starknet.js

JavaScript library for StarkNet

Home Page:https://www.starknetjs.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

JavaScript library for StarkNet.

๐Ÿ•น๏ธ Usage

Install starknet with npm

$ npm install starknet

Import starknet and use the API

The following code is used to build a simple AMM example from the cairo docs

import { defaultProvider, stark } from 'starknet';
const { getSelectorFromName } = stark;

const CONTRACT_ADDRESS =
  "0x03e19baa6cb2078631bcdb34844f3f7879449a544c9ce722681a54af08cff4b9";

/**
 * addTransaction() example
**/

/** Reset the liquidity pool **/
const addTokenResponse = await provider.addTransaction({
  type: "INVOKE_FUNCTION",
  contract_address: CONTRACT_ADDRESS,
  entry_point_selector: getSelectorFromName("init_pool"),
  calldata: ["1000000", "1000000"],
});
console.log(addTokenResponse);

/**
 * callContract() example
**/

/** Get the balance of the liquidity pool of token A **/
const poolBalanceTokenA = await callContract({
  contract_address: CONTRACT_ADDRESS,
  entry_point_selector: getSelectorFromName("get_pool_token_balance"),
  calldata: ["1"],
});
const balanceA = poolBalanceTokenA.result[0];
console.log('token a liquidity pool balance: ', parseInt(balanceA, 16));

/** Get the balance of the liquidity pool of token B **/
const poolBalanceTokenB = await callContract({
  contract_address: CONTRACT_ADDRESS,
  entry_point_selector: getSelectorFromName("get_pool_token_balance"),
  calldata: ["2"],
});
const balanceB = poolBalanceTokenB.result[0];
console.log('token b liquidity pool balance: ', parseInt(balanceB, 16));

For more information about signing transactions, please take a look at this pull request

๐ŸŒ API

Click Here

๐Ÿš€ Powered by Starknet.js

โœ๏ธ Contributing

If you consider to contribute to this project please read CONTRIBUTING.md first.

โค๏ธ Special Thanks

Special thanks to all the contributors, especially to Janek (@janek26) from Argent for driving the development of Starknet.js.

This library would not be possible without these rockstars.

๐Ÿ“œ License

Copyright (c) 2021 Sean James Han

Licensed under the MIT license.

About

JavaScript library for StarkNet

https://www.starknetjs.com

License:MIT License


Languages

Language:TypeScript 99.9%Language:Shell 0.1%