Skip to content

Neon-DappKit is the easiest way to build a dApp on Neo3. Suitable to connect Web Applications, Off-chain JS Servers and React-Native Apps to the Neo3 Blockchain.

Notifications You must be signed in to change notification settings

CityOfZion/neon-dappkit

Repository files navigation

Neon-DappKit is the easiest way to build a dApp on Neo3.
Made with ❤ by COZ.IO

Neon-DappKit

Neon-DappKit is the easiest way to build a dApp on Neo3. Suitable to connect Web Applications, Off-chain JS Servers and React-Native Apps to the Neo3 Blockchain.

WalletConnectSDK uses Neon-DappKit Types, so you can easily swap between Neon-DappKit implementation and WalletConnectSDK on the fly and reuse code, check the guide.

Installation

npm i @cityofzion/neon-dappkit
👉 For Vite Users

In the vite.config.ts file you must change the global value like this:

import {defineConfig} from 'vite'

export default defineConfig({
    //your config here
    define: {
        global: 'globalThis',
        process: {
            version: 'globalThis'
        }
        //...
    },
})

Getting Started

Neon-Dappkit has 4 main components:

Check out some examples in examples folder

Quick Example

import { NeonInvoker, NeonParser, TypeChecker } from '@CityOfZion/neon-dappkit'
import {ContractInvocationMulti} from '@cityofzion/neon-dappkit-types'

const invoker = await NeonInvoker.init({
    rpcAddress: NeonInvoker.TESTNET,
})

const invocation: ContractInvocationMulti = {
    invocations: [
        {
            scriptHash: '0x309b6b2e0538fe4095ecc48e81bb4735388432b5',
            operation: 'getMetaData',
            args: [
                {
                    type: 'Hash160',
                    value: '0xef4073a0f2b305a38ec4050e4d3d28bc40ea63f5'
                }
            ]
        }
    ],
}

const testInvokeResult = await invoker.testInvoke(invocation)

console.log(`Invocation state returned: ${testInvokeResult.state}`)
console.log(`Estimated GAS consumed on involke: ${testInvokeResult.gasconsumed} GAS`) // Using testInvoke ensures zero GAS consumption, unlike invokeFunction.
console.log(`Contract method returned a map: ${TypeChecker.isStackTypeMap(testInvokeResult.stack[0])}`)
console.log(`Contract method data returned: ${JSON.stringify(NeonParser.parseRpcResponse(testInvokeResult.stack[0]), null, 2)}`)

About

Neon-DappKit is the easiest way to build a dApp on Neo3. Suitable to connect Web Applications, Off-chain JS Servers and React-Native Apps to the Neo3 Blockchain.

Topics

Resources

Stars

Watchers

Forks