I was trying to deploy my smart contract on the venom devnet blockchain with this jrpc URL

jrpc url

but I got an error with this message

Error("Giver has empty contract state, check the giver address");


Users/sam/code/Web3/venomDAO/node_modules/locklift/internal/giver/index.js:24
throw new Error("Giver has empty contract state, check the giver address");
              ^
Error: Giver has empty contract state, check the giver address
at getGiver (/Users/sam/code/Web3/venomDAO/node_modules/locklift/internal/giver/index.js:24:15)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at Function.setup (/Users/sam/code/Web3/venomDAO/node_modules/locklift/index.js:154:41)
at initLockliftStep (/Users/sam/code/Web3/venomDAO/node_modules/locklift/internal/cli/steps/initLocklift.js:8:23)
at Command.<anonymous> (/Users/sam/code/Web3/venomDAO/node_modules/locklift/internal/cli/commands/run.js:36:5)
2

There are 2 best solutions below

3
Ivan Kotelnikov On BEST ANSWER

Usually, such an error happens, when there are no tokens on the giver balance

0
rodrigombs On

For the ones who are using locklift init (like venom youtube tutorial) it configures the endpoint for Venom devnet. Which is not the Venom testnet. So, go into your locklift.config.ts and change

const VENOM_TESTNET_ENDPOINT = process.env.VENOM_TESTNET_ENDPOINT || "https://jrpc-testnet.venom.foundation/rpc";
const VENOM_TESTNET_TRACE_ENDPOINT =
  process.env.VENOM_TESTNET_TRACE_ENDPOINT || "https://gql-testnet.venom.foundation/graphql";

Edit: this didn't let me deploy the contract. So I had to use devnet instead. And get tokens through https://faucet.venom.network/.