LoginSignup
1
0

More than 3 years have passed since last update.

Solidityでstring[]を利用する方法

Posted at

Solidityでstring[]を利用できないケース

Solidityでは、引数や戻り値でstring[]を利用できません。
stringは文字数が不定のバイト列であり、string[]は本質的には二次元配列byte[][]となります。Solidityでは計算にGasを使用するのですが、この不定のバイト数を扱う場合メモリ領域の最適化ができません。そのため、現在Solidityでstring[]の戻り値、引数はサポートされていません。

Solidityでstring[]を利用する方法

Experimental Featureですが、以下の記述を記入します。

example.sol
pragma experimental ABIEncoderV2;

pragmaキーワードは特定のコンパイラの機能を有効にする記述です。
実験中の仕様ですが、ABIEncoderV2を利用することでstring[]をコンパイル可能となります。しかし、まだ十分にテストされておらず、まだ最適化もされていないためgas代金が多少高くなってしまう可能性があるので注意してください.

参考

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0