L1X Developer SDK
Get Started
Get Started
  • L1X VM SDK
    • L1X Native SDK for L1X VM
      • Set up Environment
        • Pre-Requisites
        • Installation
          • Install Cargo L1X
            • Ubuntu and Windows (WSL)
            • Mac (Intel and Silicon)
          • Install L1X CLI (Beta)
      • Build your First Smart Contract on L1X VM
        • Common Flags and Arguments
    • L1X CLI Methods
  • L1X EVM SDK
    • Pre-Requisites
    • Hardhat Installation & Deploy your First L1X EVM FT Contract
  • L1X Typescript SDK
    • L1X Library
      • L1X Typescript SDK
      • Account Methods
        • How to import wallet using mnemonic?
        • How to import wallet using private key?
      • Core Methods
        • How to get Account State?
        • How to get block information by block number?
        • How to get chain state?
        • How to get events?
        • How to get current nonce?
        • How to get account transactions?
        • How to get the transaction recipt?
        • How to broadcast transactions?
      • L1X VM Methods
        • How to deploy a VM contract?
        • How to initialise a VM contract?
        • How to make VM readonly calls?
        • How to make VM contract state changing calls?
      • L1X EVM Methods
        • How to initialise a smart contract?
        • How to make an EVM contract state changing call?
        • How to make EVM read only calls?
      • Other Methods
        • Native Token Methods
          • How to transfer native token?
          • How to get native token balance?
          • How to get signed payload for transfer?
        • Fungible Token Methods
          • How to create fungible tokens?
          • How to mint fungible token?
          • How to give approval to fungible token?
          • How to get fungible token attributes?
          • How to get a fungible token balance?
          • How to get an allowence of fungible tokens?
          • How to transfer fungible tokens?
          • How to use transfer from of fungible token?
        • Non-fungible Token Methods
          • How to Create a Non-Fungible Token?
          • How to mint a Non-Fungible Token?
          • How to get the balance of a Non-Fungible token?
          • How to get the attribute of a Non-Fungible token?
          • How to approve a spender to manage a specific Non-Fungible token?
          • How to set or revoke approval for a specific operator to manage all tokens of the sender?
          • How to get the owner of a Non-Fungible token by its ID?
          • How to Transfer a Non-Fungible token from one address to another?
          • How to burn an existing Non-Fungible Token?
  • Endpoints
  • Configuring MetaMask with L1X Network
Powered by GitBook
On this page
  1. L1X Typescript SDK
  2. L1X Library
  3. L1X VM Methods

How to deploy a VM contract?

  • deploy

Function:

The function is used to deploy the smart contract.

import { L1XProvider, VMDeployArg } from "@l1x/l1x-wallet-sdk";
import fs from "fs/promises";

let l1xProvider = new L1XProvider({
    clusterType: "mainnet",
    endpoint: "https://v2-mainnet-rpc.l1x.foundation",
});

(async () => {
    let params: VMDeployArg = {
        attrib: {
            base_contract_bytes: await fs.readFile("./l1x_nft.o"),
        },
        private_key: "YOUR_PRIVATE_KEY"
    };

    l1xProvider.vm
        .deploy(params)
        .then((response) => console.log(response))
        .catch((err) => console.error(err));
})()

Parameters:

The VM contract deploy object

 attrib: {
            base_contract_bytes: await fs.readFile("./l1x_nft.o"),
        },
private_key: "YOUR_PRIVATE_KEY"

Returns:

A promise that resolves when the transaction is submitted.

{
     "contract_address": "cf0289e86714d97979d726eeb2fa3a23b9c007c1",
     "hash": "dc224ba854d5fbd3371f6d509b9a0b5451fff78a70ad3a209b5c273f8da0abfb"
}
PreviousL1X VM MethodsNextHow to initialise a VM contract?

Last updated 1 year ago