<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>Starknet Technical  Community</title>
        <link>https://paragraph.com/@starknet-technical-community</link>
        <description>undefined</description>
        <lastBuildDate>Wed, 13 May 2026 22:55:09 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <image>
            <title>Starknet Technical  Community</title>
            <url>https://storage.googleapis.com/papyrus_images/3d37c1ea172f7748123a4499b2ec74c41d2c233047fd5063c82094cfbb4f1ffc.png</url>
            <link>https://paragraph.com/@starknet-technical-community</link>
        </image>
        <copyright>All rights reserved</copyright>
        <item>
            <title><![CDATA[Dapp on Starknet]]></title>
            <link>https://paragraph.com/@starknet-technical-community/dapp-on-starknet</link>
            <guid>jEfeXL2IMCSToPB3fbBK</guid>
            <pubDate>Sun, 05 Nov 2023 07:31:26 GMT</pubDate>
            <description><![CDATA[Starknet dApp You will learn how to use get-starknet and starknet-react to build a simple dApp for minting NFTs on Starknet. A demo： https://starknetfinal.kongtaoxing.repl.co/ get-starknet get-starknet provides a JavaScript library that provides a set of APIs for interacting with the Starknet network. Developers can install the get-starknet library using npm, and then use it in their JavaScript code to deploy and manage contracts on the network, as well as call functions and query data from e...]]></description>
            <content:encoded><![CDATA[<p>Starknet dApp You will learn how to use get-starknet and starknet-react to build a simple dApp for minting NFTs on Starknet.</p><p>A demo：</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://starknetfinal.kongtaoxing.repl.co/">https://starknetfinal.kongtaoxing.repl.co/</a></p><p>get-starknet get-starknet provides a JavaScript library that provides a set of APIs for interacting with the Starknet network. Developers can install the get-starknet library using npm, and then use it in their JavaScript code to deploy and manage contracts on the network, as well as call functions and query data from existing contracts. The library provides a set of functions and classes for tasks such as compiling contracts, deploying contracts, and interacting with the network.</p><ol><li><p>Install To install the get-starknet library, you will need to have Node.js installed on your system, then follow these steps:</p></li></ol><p>To initialize an npm project:</p><p>Open a terminal window or command prompt. Navigate to an empty directory where you want to initialize an npm project. run the following command: npm init -y This will start a command-line interface that will guide you through the process of creating a package.json file. You will be prompted to enter various settings for your project, such as its name, version, description, and entry point.</p><p>To install get-starknet:</p><p>Navigate to the project directory where you want to install the library. Run the following command to install the get-starknet library:</p><h1 id="h-using-npm" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">using npm</h1><p>npm install get-starknet starknet@next</p><h1 id="h-alternative-using-yarn" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">(alternative) using yarn</h1><p>yarn add get-starknet starknet@next</p><h1 id="h-alternative-using-pnpm" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">(alternative) using pnpm</h1><p>pnpm add get-starknet starknet@next</p><p>That&apos;s it! You should now be able to use the get-starknet library in your project.</p><ol><li><p>Basic Usage You can use the built-in UI to connect to any Starknet wallet as fast as possible like this:</p></li></ol><p>import { connect, disconnect } from &quot;get-starknet&quot;</p><p>return &lt;button onClick={() =&gt; connect()}&gt;Connect wallet</p>]]></content:encoded>
            <author>starknet-technical-community@newsletter.paragraph.com (Starknet Technical  Community)</author>
        </item>
        <item>
            <title><![CDATA[Starknet Technical Community]]></title>
            <link>https://paragraph.com/@starknet-technical-community/starknet-technical-community</link>
            <guid>XyXVjifABufGbvBz8YlC</guid>
            <pubDate>Sun, 05 Nov 2023 07:29:51 GMT</pubDate>
            <description><![CDATA[Starknet.js:Starknet.js Starknet.js is a JavaScript library to interact with Starknet, typically in script or a decentralized applications. Starknet.js is inspired by Ethers.js, so it&apos;s easier if you have experience with it. If you are not familiar with Ethers.js, check WTF Ethers Tutorial.Install with npm First, get your VSCode and Node.js ready. Then open your terminal to install starknet.js with npm.npm install starknetProvider Provider allows you to interact with the Starknet network...]]></description>
            <content:encoded><![CDATA[<h1 id="h-starknetjs" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Starknet.js</h1><p>:Starknet.js Starknet.js is a JavaScript library to interact with Starknet, typically in script or a decentralized applications. Starknet.js is inspired by Ethers.js, so it&apos;s easier if you have experience with it.</p><p>If you are not familiar with Ethers.js, check WTF Ethers Tutorial.</p><ol><li><p>Install with npm First, get your VSCode and Node.js ready. Then open your terminal to install starknet.js with npm.</p></li></ol><p>npm install starknet</p><ol><li><p>Provider Provider allows you to interact with the Starknet network, without signing transactions or messages.</p></li></ol><p>const provider = new Provider({ sequencer: { network: &apos;goerli-alpha&apos; } }) // for testnet 1 // output chainId console.log(&quot;Chain ID: &quot;, await provider.getChainId());</p><ol><li><p>Account Account extends Provider and allows you to create and verify signatures. It is similar to Wallet in ethers.js, but different since all accounts are abstract on Starknet. You need a KeyPair to create an account instance.</p></li></ol><p>const privateKey = process.env.PRIVATE_KEY; console.log(privateKey) const accountAddr = &quot;0x06b59aEC7b1cC7248E206abfabe62062ba1aD75783E7A2Dc19E7F3f351Ac3309&quot;; const starkKeyPair = ec.getKeyPair(privateKey); const account = new Account(provider, accountAddr, starkKeyPair);</p><ol><li><p>Get Account Nonce Gets the nonce of the account with respect to a specific block.</p></li></ol><p>const addr = &quot;0x06b59aEC7b1cC7248E206abfabe62062ba1aD75783E7A2Dc19E7F3f351Ac3309&quot; const nonce = await provider.getNonceForAddress(addr) console.log(Number(nonce));</p><ol><li><p>A Simple Contract We deployed a simple contract to interact with. It has a storage variable balance, an event log_data, and 2 functions: read_balance() and set_balance() to read and set the balance. You can find the contract on starkscan here.</p></li></ol><p>%lang starknet</p><p>from starkware.cairo.common.cairo_builtins import HashBuiltin</p><p>// starage variable: balance @storage_var func balance() -&gt; (res: felt) { }</p><p>// event @event func log_data(value: felt) { }</p><p>// set balance. @external func set_balance{ syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr, }(amount: felt) { balance.write(amount); // 释放事件 log_data.emit(amount); return (); }</p><p>// read balance. @view func read_balance{ syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_check_ptr, }() -&gt; (amount: felt) { let (res) = balance.read(); return (amount=res); }</p><ol><li><p>Read Contract You can create a contract instance with Contract method, and pass ABI, contract address, and provider to it. Then you can interact with the contract on Starknet.</p></li></ol><p>const testAddress = &quot;0x0352654644b53b008b9fd565846cca116c0911d0eeabb57df00b55ed77ad211e&quot;; // Read ABI from contract address const { abi: testAbi } = await provider.getClassAt(testAddress); if (testAbi === undefined) { throw new Error(&quot;no abi.&quot;) }; // create contract instance const myTestContract = new Contract(testAbi, testAddress, provider); // call read_balance method const bal1 = await myTestContract.read_balance(); // you can also use call method // const bal1 = await myTestContract.call(&quot;read_balance&quot;); console.log(&quot;Current Balance =&quot;, bal1.toString());</p><ol><li><p>Write Contract To write on the blockchain, you need to connect the contract instance with account.</p></li></ol><p>// Connect account with the contract myTestContract.connect(account); // or you can use invoke // const result = await myTestContract.invoke(&quot;set_balance&quot;, [888]); const result = await myTestContract.set_balance(999); const txReceiptDeployTest = await provider.waitForTransaction(result.transaction_hash); const bal2 = await myTestContract.read_balance(); console.log(&quot;New Balance =&quot;, bal2.toString());</p><ol><li><p>Write Contract with Verification If you interact with a function that needs the proof that you have the private key of the account, you have to invoke this function with account.execute, and pass following variables:</p></li></ol><p>contractAddress: address of the contract to invoke. entrypoint: name of the function to invoke. calldata: array of parameters for this function. // account.execute: when you interact with the function that needs the proof that you have the private key of the account. const executeHash = await account.execute( { contractAddress: myContractAddress, entrypoint: &apos;transfer&apos;, calldata: stark.compileCalldata({ recipient: receiverAddress, amount: [&apos;10&apos;] }) } ); await provider.waitForTransaction(executeHash.transaction_hash);</p><ol><li><p>Read Events It is easy to read event from transaction receipt. But a transaction can contain multiple events, so you need to filter out the one you need.</p></li></ol><p>// Events // there are multiple events in the tx, because ERC20 and argent tx also emit events. // we need to filter out the event that we careconst events = txReceiptDeployTest.events; const event = events.find( (it) =&gt; number.cleanHex(it.from_address) === number.cleanHex(testAddress) ) || {data: []}; console.log(&quot;event: &quot;, event);</p><ol><li><p>Summary In this tutorial, we introduced how to use Starknet.js, including provider, account, read/write contract, and read events.</p></li></ol>]]></content:encoded>
            <author>starknet-technical-community@newsletter.paragraph.com (Starknet Technical  Community)</author>
        </item>
    </channel>
</rss>