8

Are there any restrictions on the length of the value that can be stored as type string in Solidity? I am trying to store a string value in the smart contract member field. The length comes to around 220 chars. If I reduce the string value to around 140 chars I am able to store it. Any more and it does not work.

1 Answer 1

8

the problem is not about the string size but about the provided gas, the storage costs more gas as you store more data. so when you increase the string size increase the gas limit provided in your transaction. using the following example :

contract store{
string public storage_;

function store_it(string s){

    storage_=s;
}


}

I've provided a string with 220 character it costs me 774675 gas.

6
  • 1
    BTW, the documentation defines string as arbitrary-length, which suggests that the gas cost is the only limiting factor here. Aug 3, 2017 at 12:17
  • 1
    the storage cost is discussed in a related post ethereum.stackexchange.com/questions/872/…
    – Badr Bellaj
    Aug 3, 2017 at 12:32
  • @SergeiTikhomirov is there a way to limit the number of characters in the string?
    – T. Thomas
    Aug 31, 2020 at 22:58
  • If you limit to 255 characters, how expensive is it. As of this moment 774675 gas is around $0.00000000123888350025
    – Lokiare
    Feb 8, 2021 at 0:04
  • 1
    @S. Goody its listed on the Ethereum site.
    – Lokiare
    Aug 13, 2021 at 17:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.