1.0.1 • Published 1 month ago

@okxweb3/coin-near v1.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
1 month ago

@okxweb3/coin-near

Near SDK is used to interact with the Near protocol, it contains the main functions you need when interact with Near Ecosystem.

Getting Started

Installing Near SDK

npm install @okxweb3/coin-near

What Can Near SDK Do

- getAddress
- validateAddress
- publicKeyFromSeed
- createTransaction
- transfer
- signTransaction
- fullAccessKey

Using Near SDK

Get Address / Validate Address

const seedHex = 'seed hex'
const addr = getAddress(seedHex)

// validate address
const ok = validateAddress(addr)

Transfer

// from, to is account id, not public key
const from = "your_account_id_from.testnet"
const to = "your_account_id_to.testnet"
const seedHex = 'seed hex'
const nonce = 100
// blockHash is from valid blocks within 24 hours
const blockHash = "EekjoegUYx2iibbWDuUSQENYCvUGkxj2Et1hTonbwBuN"

const publicKey = publicKeyFromSeed(seedHex)
const tx = createTransaction(from, publicKey, to, nonce, [], base.fromBase58(blockHash))

const action = transfer(new BN(10).pow(new BN(24)))
tx.actions.push(action)

const [_, signedTx] = await signTransaction(tx, seedHex)
const result = base.toBase64(signedTx.encode())

Create Account

// from, to is account id, not public key
const from = "your_account_id_from.testnet"
const to = "your_account_id_to.testnet"
const seedHex = 'seed hex'
const nonce = 100
// blockHash is from valid blocks within 24 hours
const blockHash = "EekjoegUYx2iibbWDuUSQENYCvUGkxj2Et1hTonbwBuN"

const publicKey = publicKeyFromSeed(seedHex)
const tx = createTransaction(from, publicKey, to, nonce, [], base.fromBase58(blockHash))

const seedHex2 = 'seed hex 2'
const publicKey2 = publicKeyFromSeed(seedHex2)

const action = createAccount()
tx.actions.push(action)
const action2 = addKey(publicKey2, fullAccessKey())
tx.actions.push(action2)

const [_, signedTx] = await signTransaction(tx, seedHex)
const result = base.toBase64(signedTx.encode())

DApp transfer NEAR

let wallet = new NearWallet();
let param: SignTxParams = {
    privateKey: "ed25519:4yNHZKYxR4bk76CZ3MFQxpMeavbPTJVuGNrPZSBp5nzZTc64w35xmrGggbTWLHM1sUJCN5moESgsZKbDVDCj1234",
    data: {
        blockHash: "EekjoegUYx2iibbWDuUSQENYCvUGkxj2Et1hTonbwBuN",
        type: NearTypes.TransferNear,
        nonce: 1,
        "receiverId": "wrap.testnet",
        "amount": "1000000000000000000",
    }
}
let result = await wallet.signTransaction(param)
console.info(result)

DApp transfer ft token

let wallet = new NearWallet();
let param: SignTxParams = {
    privateKey: 'c6a8e5460421b18909798822a56629f0e984b539a06d6020ef7ee7e872d2b391',
    data: {
        blockHash: "EekjoegUYx2iibbWDuUSQENYCvUGkxj2Et1hTonbwBuN",
        type: NearTypes.TransferToken,
        nonce: 1,
        amount: "1000000000000000000",
        receiverId: '316e10e0e93bef0927f4b0bc48849759a42c218b0e81a39ccb8eb15f048b00e8',
        contract: "wrap.near",
        gas: '100000000000000',
        deposit: '1250000000000000000000',
    }
}
let result = await wallet.signTransaction(param)
console.info(result)

Derive Private Key

let wallet = new NearWallet()

let mnemonic = "swift choose erupt agree fragile spider glare spawn suit they solid bus";
let param = {
    mnemonic: mnemonic,
    hdPath: await wallet.getDerivedPath({index:0})
};
let privateKey = await wallet.getDerivedPrivateKey(param);

DApp transaction sign

  let wallet = new NearWallet();
let param: SignTxParams = {
    privateKey: "ed25519:4yNHZKYxR4bk76CZ3MFQxpMeavbPTJVuGNrPZSBp5nzZTc64w35xmrGggbTWLHM1sUJCN5moESgsZKbDVDCj1234",
    data: {
        blockHash: "EekjoegUYx2iibbWDuUSQENYCvUGkxj2Et1hTonbwBuN",
        type: NearTypes.DAppTx,
        nonce: 1,
        "receiverId": "wrap.testnet",
        "actions": [
            {
                "methodName": "near_deposit",
                "args": {},
                "deposit": "10000000000000000000000",
                "gas":"1",
            }
        ]
    }
}
let result = await wallet.signTransaction(param)
console.info(result)

DApp transactions sign

 let wallet = new NearWallet();
        let param: SignTxParams = {
            privateKey: "ed25519:4yNHZKYxR4bk76CZ3MFQxpMeavbPTJVuGNrPZSBp5nzZTc64w35xmrGggbTWLHM1sUJCN5moESgsZKbDVDCj1234",
            data: {
                blockHash: "EekjoegUYx2iibbWDuUSQENYCvUGkxj2Et1hTonbwBuN",
                type: NearTypes.DAppTxs,
                nonce: 1,
                transactions:[{
                    "receiverId": "wrap.testnet",
                    "actions": [
                        {
                            "methodName": "near_deposit",
                            "args": {},
                            "deposit": "10000000000000000000000"
                        }
                    ]
                }]
            }
        }
        let result = await wallet.signTransaction(param)
        console.info(result)

License: MIT

1.0.1

1 month ago

1.0.1-beta.10

2 months ago

1.0.1-beta.9

2 months ago

1.0.1-beta.8

2 months ago

1.0.1-beta.7

2 months ago

1.0.1-beta.6

2 months ago

1.0.1-beta.5

2 months ago

1.0.1-beta.2

2 months ago

1.0.1-beta.1

2 months ago

1.0.1-beta.4

2 months ago

1.0.1-beta.3

2 months ago

1.0.1-beta.0

3 months ago

1.0.0

8 months ago