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
If you consider to contribute to this project please read CONTRIBUTING.md first.
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.
Copyright (c) 2021 Sean James Han
Licensed under the MIT license.
Generated using TypeDoc