Submitting a contract transaction request

This method allows you to send a contract transaction request.

Before requesting a transaction, ensure that you encode the value in hexadecimal format.

const value = "0x0"

You also need to add the necessary parameters before requesting a transaction.

const from = userAddress //the address you're sending from (connected users address)
const to = "0x0000000000000000000000000000000000000000" // the address you're sending the transaction to 

Now we need to get the data to send to represent the contract data. In this example we are approving 0.1 BUSD

// create the tx object
// BUSD contract address: 0x78867BbEeF44f2326bF8DDd1941a4439382EF2A7
const contractAddress = "0x78867BbEeF44f2326bF8DDd1941a4439382EF2A7";
// Approve function ABI
const abi = [
  {
    inputs: [
      { internalType: "address", name: "spender", type: "address" },
      { internalType: "uint256", name: "amount", type: "uint256" },
    ],
    name: "approve",
    outputs: [{ internalType: "bool", name: "", type: "bool" }],
    stateMutability: "nonpayable",
    type: "function",
  },
];
const contract = new ethers.Contract(contractAddress, abi);

// Set the parameters for the transaction
const spender = userAddress; // the address of the spender (user connected)
const amount = ethers.parseEther("0.1"); // the amount to approve
const data = contract.interface.encodeFunctionData("approve", [
     spender,
     amount,
]);

Next, create the transaction object

const tx = {
  from,
  to,
  data,
  value,
},

Finally, obtain the chain ID, which can be found at the following URL: (https://chainlist.org)

const chainId = 1; // ETH chain id

POST https://api.alturanft.com/api/alturaguard/request

Request Body

Name
Type
Description

token*

String

User token recieved when authenticating

reqParameters*

array

["transaction", tx, chainId]

requestId

Last updated