Developer Documentation
  • What is CTEX?
  • Learn about CTEX Chain
    • Ctex Overview: vision, strategy and platform components
    • The Ctex Blockchain
      • Ctex Consensus Mechanism
      • Delegation and Staking with Validators
      • Ethereum (EVM) Compatibility and Smart Contracts
      • Boosting Ctex's Scalability
  • Empowering Global Payments with Ctex
  • Ctex Key Feature
  • Ctex Consensus
  • CTEX Clusters
    • CTEXChain Mainnet
    • CTEXChain Testnet
    • CLI Command
    • Ctex Faucet
    • Audit Report
  • Integrating with Metamask
    • Add Ctex Chain Network to Metamask
    • Config Custom Token
    • How to Reset Metamask Wallet
  • CTEX Exclusive Product
  • Ctex Coin
    • Technical
    • Utility
    • Distribution
  • Run Master Node
  • Developer Guide
    • Token Standard
      • CTEX-721 Token
      • CTEX-20 Token
  • APIs
    • accounts
    • blockNumber
    • call
    • chainId
    • estimateGas
    • gasPrice
    • getBalance
    • getBlockByHash
    • getBlockByNumber
    • getBlockTransactionCountByHash
    • getBlockTransactionCountByNumber
    • getCode
    • getLogs
    • getStorageAt
    • getTransactionByBlockHashAndIndex
    • getTransactionByBlockNumberAndIndex
    • getTransactionByHash
    • getTransactionCount
    • getTransactionReceipt
    • getUncleByBlockHashAndIndex
    • getUncleByBlockNumberAndIndex
    • getUncleCountByBlockHash
    • getUncleCountByBlockNumber
    • getWork
    • hashrate
    • mining
    • protocolVersion
    • sendRawTransaction
    • submitWork
    • syncing
    • net_listening
    • net_peerCount
    • net_version
    • web3_clientVersion
    • parity_nextNonce
    • Filter methods
    • newFilter
    • newBlockFilter
    • getFilterChanges
    • uninstallFilter
  • Depolying CTEX chain
    • Using Remix
    • Using Truffle
    • Using Hardhat
    • Using Replit
    • Using Alchemy
  • Whitepaper
  • Technical Paper
  • Yellow Paper
Powered by GitBook
On this page
  1. Depolying CTEX chain

Using Hardhat

PreviousUsing TruffleNextUsing Replit

Last updated 1 year ago

There are a few technical requirements before we start. Please install the following:

  • (comes with Node)

Once we have those installed, To install Hardhat, you need to create an npm project by going to an empty folder, running npm init, and following its instructions. Once your project is ready, you should run

Copy

$ npm install --save-dev hardhat

To create your Hardhat project run npx hardhat in your project folder Let’s create the sample project and go through these steps to try out the sample task and compile, test and deploy the sample contract.

The sample project will ask you to install hardhat-waffle and hardhat-ethers.You can learn more about it

Hardhat-config

  • Go to hardhat.config.js

  • Update the hardhat-config with CTEX-network-credentials

  • Create .env file in the root to store your private key

  • Add CTEXscan API key to .env file to verify the contract on CTEXscan. You can generate an API key by

Copy

Explainrequire('dotenv').config();
require("@nomiclabs/hardhat-ethers");
require("@nomiclabs/hardhat-etherscan");

module.exports = {
  defaultNetwork: "Ctex",
  networks: {
    hardhat: {
    },
    ctex: {
      url: "https://test1ctexrpc.com",
      accounts: [process.env.PRIVATE_KEY]
    }
  },
  etherscan: {
    apiKey: process.env.ctexSCAN_API_KEY
  },
  solidity: {
    version: "0.8.3",
    settings: {
      optimizer: {
        enabled: true,
        runs: 200
      }
    }
  },
}

Make sure to update the Solidity compiler version here based on what is required in your contract(s).

Compile Smart contract file

Copy

$ npx hardhat compile

Deploying on ctex Network

Run this command in root of the project directory:

Copy

$ npx hardhat run scripts/sample-script.js --network ctex

Contract will be deployed on CTEX Chain Testnet, it look like this:

Copy

Compilation finished successfully
Greeter deployed to: 0xF0B2F5AbE5A52B5BF85B2320A730D1Ed714c1af3

Remember your address would differ, Above is just to provide an idea of structure. Congratulations! You have successfully deployed Smart Contract. Now you can interact with the Smart Contract.

Verifying contract on ctexscan

Copy

$ npm install --save-dev @nomiclabs/hardhat-etherscan
$ npx hardhat verify --network ctex 0xF0B2F5AbE5A52B5BF85B2320A730D1Ed714c1af3

Remember to update your address to your own deployed contract address. When the command is successful, you will see your contract verified on ctexscan!

You can check the deployment status here:

Run the following commands to quickly verify your contract on ctexscan. This makes it easy for anyone to see the source code of your deployed contract. For contracts that have a constructor with a complex argument list, see .

Node.js v10+ LTS and npm
Git
in this guide
creating an account
https://testnet-rpc.ctexscan.com
here