'how to solve "VM Exception while processing transaction: out of gas"

I faced a VM Exception while processing a transaction: out of gas error in contract.

Here's my truffle-config.js file:

   development: {
 "http://127.0.0.1:8545"),
     host: "127.0.0.1",     // Localhost (default: none)
     port: 8545,            // Standard Ethereum port (default: none)
     network_id: "*",
     gas: 7984452,
     gasPrice: 25000000000,// Any network (default: none)
    },

My migration file:

1_initial_migration.js

const Migrations = artifacts.require("Migrations");

module.exports = function (deployer) {
  deployer.deploy(Migrations );
};

2_deploy_contracts.js

const Storage = artifacts.require("Storage");
  
module.exports = function (deployer) {
  deployer.deploy(Storage );
};

contract.sol file

   function addFood(string calldata _name, string calldata _origin ) external returns (uint) {
        foods.push(Food(++number, _name, _origin));
        chainLengthCount[number]++;

        return number;
    }

contract_licking.dart file

  addFood(String name, String origin) async {

    // Getting the current name declared in the smart contract.
    isLoading = true;
    notifyListeners();
    var number = await _client.sendTransaction(
        _credentials,
        Transaction.callContract(
            contract: _contract, function: _addFood, parameters: [ name, origin]));
    
    return number;
  }

it ganache-cli error

ganache-cli gas error

flutter error

What should I do? Please help me!



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source