# Transaction

<figure><img src="https://3961530331-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FE0AsD6OL7TIzQ6UZVhUw%2Fuploads%2FGSk8hG01Y65zRBvOOv6n%2Fimage.png?alt=media&#x26;token=3b8cf9b3-c471-4460-b043-a4f611130c68" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3961530331-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FE0AsD6OL7TIzQ6UZVhUw%2Fuploads%2FzW5W7n4VMGreKNr8wfhV%2Fimage.png?alt=media&#x26;token=fae8edc0-5cf7-4543-9ab2-751ff3f345b2" alt=""><figcaption></figcaption></figure>

```
// require("dotenv").config();
const {ethers, Wallet} = require("ethers");

const network = {
    name:"Web3 Testnet",
    endpoint:"https://test.web3finance.me/rpc",
};

const provider = new ethers.providers.JsonRpcProvider(network.endpoint);
const wallet = new Wallet(process.env.PRIVATE_KEY);

const getTxnInstance = async () => {
    const nonce = await wallet.getTransactionCount();
    const gasPrice = await provider.getGasPrice();
    const gasLimit = 21_000;
    const chainID = await provider.getChainID();
    
    const tx = {
        from: wallet.address,
        to: ethers.constants.AddressZero,
        value: ethers.utils.parseEther(1),
        gasLimit,
        gasPrice,
        nonce,
        chainId,
        data: "0x",
        type: null,
    };
    
    return tx;
};

(async() => {
    const txInstance = await.getTxnInstance();
    await wallet.sendTransaction(txnInstance);
})();
```

In the Web3Chain network, developers can develop on the network using libraries such as Web 3.0 and Ethers.
