Circular SDK
  • Getting Started
    • Circular APIs
      • Setting Up a Wallet
      • Get you NAG Access Key
      • Select a Programming Language
  • API Docs
    • APIs
      • Check Wallet Existence
      • Get Wallet Content
      • Get Wallet Balance
      • Get Wallet Nonce
      • Call a Smart Contract Function
      • Get a Domain
      • Get the Asset List
      • Get Asset
      • Get the Asset Supply
      • Get a range of Blocks
      • Get a Block
      • Get the number of Blocks
      • Get the Blockchain Analytics
      • Get the available blockchains
      • Get a Transaction by its TxID
      • Get transactions processed by a node
      • Get a transaction by an involved address
      • Get transactions by a range of dates
      • Submit a new Transaction
      • Registering a New Wallet
      • Transferring an Asset
    • Node.js
      • Mainnet Integration
      • checkWallet()
      • getWallet()
      • getWalletBalance()
      • getWalletNonce()
      • callContract()
      • testContract()
      • registerWallet()
      • getDomain()
      • getAssetList()
      • getAsset()
      • getAssetSupply()
      • getBlockRange()
      • getBlock()
      • getBlockCount()
      • getAnalytics()
      • getBlockchains()
      • getTransactionbyID()
      • getTransactionbyNode()
      • getTransactionbyAddress()
      • getTransactionbyDate()
      • getTransactionOutcome()
      • getPendingTransaction()
      • sendTransaction()
      • signMessage()
      • verifySignature()
      • getPublicKey()
      • stringToHex()
      • hexToString()
      • hexFix()
      • setNAGKey()
      • setNAGURL()
      • getFormattedTimestamp()
    • Javascript
      • Mainnet Integration
      • checkWallet()
      • getWallet()
      • getWalletBalance()
      • getWalletNonce()
      • callContract()
      • testContract()
      • registerWallet()
      • getDomain()
      • getAssetList()
      • getAsset()
      • getAssetSupply()
      • getBlockRange()
      • getBlock()
      • getBlockCount()
      • getAnalytics()
      • getBlockchains()
      • getTransactionbyID()
      • getTransactionbyNode()
      • getTransactionbyAddress()
      • getTransactionbyDate()
      • getTransactionOutcome()
      • getPendingTransaction()
      • sendTransaction()
      • signMessage()
      • verifySignature()
      • getPublicKey()
      • stringToHex()
      • hexToString()
      • hexFix()
      • setNAGKey()
      • setNAGURL()
      • getFormattedTimestamp()
    • Typescript
      • Including TypeScript Library
      • SetNAGKey & SetNAGURL
      • GetWallet
      • RegisterWallet
      • GetAsset
      • GetAssetSupply
      • GetBlock
      • SendTransaction
      • SignMessage
      • getFormattedTimestamp
      • Transferring an Asset
    • Python
      • Mainnet Integration
      • checkWallet()
      • getWallet()
      • getWalletBalance()
      • getWalletNonce()
      • callContract()
      • registerWallet()
      • getDomain()
      • getAssetList()
      • getAsset()
      • getAssetSupply()
      • getBlockRange()
      • getBlock()
      • getBlockCount()
      • getAnalytics()
      • getBlockchains()
      • getTransactionByID()
      • getTransactionByNode()
      • getTransactionByAddress()
      • getTransactionByDate()
      • getTransactionOutcome()
      • sendTransaction()
    • Dart
      • checkWallet()
      • getWallet()
      • getWalletBalance()
      • getWalletNonce()
      • callContract()
      • callContractWithPlainConsoleOutput()
      • registerWallet()
      • getDomain()
      • getAssetList()
      • getAsset()
      • getAssetSupply()
      • getBlockRange()
      • getBlock()
      • getBlockCount()
      • getAnalytics()
      • getBlockchains()
      • getTransactionByID()
      • getTransactionByNode()
      • getTransactionByAddress()
      • getTransactionByDate()
      • sendTransaction()
      • signMessage()
      • verifySignature()
      • getPublicKey()
      • getKeysFromString()
      • getKeysFromListOfStrings()
    • Go
      • Mainnet Integration
      • CheckWallet()
      • GetWallet()
      • GetWalletBalance()
      • GetWalletNonce()
      • CallContract()
      • RegisterWallet()
      • GetDomain()
      • GetAssetList()
      • GetAsset()
      • GetAssetSupply()
      • GetBlockRange()
      • GetBlock()
      • GetBlockCount()
      • GetAnalytics()
      • GetBlockchains()
      • GetTransactionByID()
      • GetTransactionByNode()
      • GetTransactionByAddress()
      • GetTransactionByDate()
      • GetTransactionOutcome()
      • SendTransaction()
      • SignMessage()
      • VerifySignature()
      • GetPublicKey()
      • GetKeysFromString()
    • PHP
      • Mainnet Integration
      • checkWallet()
      • getWallet()
      • getWalletBalance()
      • getWalletNonce()
      • callContract()
      • registerWallet()
      • getDomain()
      • getAssetList()
      • getAsset()
      • getAssetSupply()
      • getBlockRange()
      • getBlock()
      • getBlockCount()
      • getAnalytics()
      • getBlockchains()
      • getTransactionByID()
      • getTransactionByNode()
      • getTransactionByAddress()
      • getTransactionByDate()
      • getTransactionOutcome()
      • sendTransaction()
      • signMessage()
      • verifySignature()
      • getPublicKey()
      • stringToHex()
      • hexToString()
      • hexFix()
      • setNAGKey()
      • setNAGURL()
      • getFormattedTimestamp()
    • C++
    • C#
    • Rust
    • Arduino
Powered by GitBook
On this page
  1. API Docs
  2. Dart

sendTransactionWithPK()

Send a new transaction on the blockchain. This method automatically calculates the signature, nonce, and other parameters.

Method Signature

Future<dynamic> sendTransactionWithPK(
      String from,
      String privateKey,
      String to,
      String type,
      Map<String, String> payload,
      String blockchain);

Type:

Types of transactions:

  • C_TYPE_COIN: Transaction involving native coins (CIRX) without the use of Hyper Code (Smart Contracts).

  • C_TYPE_TOKEN: Transaction involving specified tokens without the use of Hyper Code.

  • C_TYPE_ASSET: Transaction involving a generic digital asset that is not represented by a token.

  • C_TYPE_CERTIFICATE: Transaction where the payload doesn't require processing and is a generic string.

  • C_TYPE_REGISTERWALLET: Transaction used to register a new wallet on a specified blockchain.

  • C_TYPE_HC_DEPLOYMENT: Transaction to deploy a new Hyper Code Program.

  • C_TYPE_HC_REQUEST: Transaction to call a specified endpoint of a Hyper Program.

  • C_TYPE_USERDEF: Unspecified type, defined by the user (not available yet).

Parameters

Name
Type
Description

from

String

Wallet address in hex

privateKey

String

Sender's private key in hex

to

String

Receiver's wallet address in hex

payload

Map<String, String>

Payload in map

blockchain

String

Blockchain address in hex

type

String

One of the types listed before

Example

import 'package:circular_api/circular_api.dart';

void main() async{
    final circular = CircularAPI();
    final blockhain = "0x8a20baa40c45dc5055aeb26197c203e576ef389d9acb171bd62da11dc5ad72b2";
    final from = "0x8b20bda40c45dc2908aeb26197c203e576ef389d9acb171bd62da15af5ad72b4";
    final to = "0x9a20bda40c45dc2908aeb26197c2bde576ad389d9acb181bd62da15af5adaf32";
    final privateKey = "receiver = 0x1f22bda40c45dc2908aeb26197c2bde576ad332d9dcb451bd62da15af5adaa40";
    final type = "C_TYPE_COIN";
    final payload = {
        "Asset": "CIRX",
        "Amount" : 100,
        "Action" : "CP_SEND",
        "Memo" : "Test memo"
    }
    
    final result = await circular.sendTransactionWithPK(from, privateKey, to, type, payload, blockchain);
}

Result

{
  "Result": 200,
  "Response": {
    "TxID": "138dd7a19685c71f281d8f5b9d0de15dc7ce7e9433e1715ec6e45e0fade74c82",
    "Timestamp": "2024:09:26-21:57:12"
  },
  "Node": "8a93c6b6f8d166097ddfeb3e5e3a2998b35e0b6f0bd2e31a8a130a11b6749279"
}

Last updated 7 months ago