arrays — все вопросы
1ответ
16 голосов
Как инициализировать пустой массив и вставлять в него элементы?
Вот моя функция:
function Test() constant returns (uint[]) {
var myArray = uint[];
myArray.push(123);
return myArray;
}
Вот ошибка, которую я получаю в онлайн-компиляторе целостности
2ответа
14 голосов
Хранить данные в сопоставлении с массивом
Я вижу, что есть примеры Solidity, которые используют mapping для хранения состояния, а некоторые используют arrays.
Например, в этом примере используется сопоставление:
struct Campaign {
..
1ответ
13 голосов
Как очистить большие массивы, не продувая газовый предел?
Как опубликовано redditor ethererik в сообщении выплата выигрыша в размере 1100 ETH от GovernMental застряла, поскольку использует слишком много газа , 1100 эфиров застряли в подвешенном состояни
1ответ
12 голосов
Solidity: Можете ли вы вернуть динамические массивы в функции?
Я знаю, что могу вернуть динамические массивы байтов в Solidity, например, в следующем коде:
function createMemoryArray(uint size) returns (bytes) {
// Dynamic memory arrays are created using
1ответ
12 голосов
Передача массива в качестве параметра из javascrpt (web3) в функцию Solidity
У меня есть следующая функция Solidity:
function func(bytes32[2] data) external {
bytes32 x;
bytes32 y;
x = data[0];
y = data[1];
}
Я пытаюсь вызвать его из Jav
2ответа
10 голосов
Как я могу создать массив адресов?
Я просто хочу создать массив с материалом в нем. Все, что я пробую, это сообщение об ошибке в тумане. Даже этот фрагмент кода, который я получил прямо из документации, не компилируется:
contract C
2ответа
10 голосов
Невозможно использовать массив строк в качестве аргумента функции прочности?
Если я попытаюсь определить функцию, используя массив строк в качестве аргумента, solc дает мне следующую ошибку:
Error: Internal type is not allowed for public or external functions.
function
2ответа
9 голосов
Как связать массив bytes32 [] с строкой?
Я передаю массив байтов32 моей функции. Этот массив может содержать числа или хэши и т. Д. Для идентификации объекта. В новом случае я хочу передать URL-адрес этой функции, разделив URL на части, пр
4ответа
9 голосов
Могут ли массивы контрактных массивов получить массивы адресов в качестве параметров?
Этот вопрос связан с this , но с использованием адресных массивов вместо строк. Поддерживается ли поддержка массивов массивов адресов в качестве аргументов метода?
contract C {
uint256 hexVal
1ответ
9 голосов
Как вручную инициализировать массив в Solidity?
Я не могу найти способ инициализации массива вручную.
string[] public cool;
function constructor() {
cool[0] = "one";
}
Не будет выполняться, а
function constructor(){
cool[cool.leng
1ответ
9 голосов
Действительно ли «удаление» на самом деле освобождает пространство памяти?
У меня есть следующая структура mapping(uint => Foo[]). Я отобразил 10 уникальных идентификаторов с 10 структурами Foo, где каждый Foo является arraylist из 10 предметов.
Шаг 1:
for(int i
3ответа
8 голосов
Как я могу создать сложные отношения массива в целостности?
Здравствуйте, я пытаюсь понять, как создавать сложные отношения в Solidity.
В этом примере клиент будет размещать заказ с использованием функции с аргументами, однако это не может быть ни для как
1ответ
7 голосов
Инициализировать структуру с пустым массивом
Я пытаюсь инициализировать эту структуру, и я не могу понять, как пройти в пустом массиве с динамическим размером.
uint8[] id;
users[msg.sender] = User( true, msg.sender, _username, bl
1ответ
7 голосов
Какое ограничение требуется для определения размеров массива Solidity назад?
Из документов:
В Solidity размеры массива объявляются назад от того, как вы
могут быть использованы для объявления их на C или Java, но они имеют доступ как
на C или Java.
Например,
2ответа
7 голосов
Solidity: инициализировать структуру, содержащую строковый массив
Кажется, я не могу инициализировать структуру, содержащую строковый массив. Это - это то, что я пробовал:
contract testStruct {
struct stru{
string[] s;
}
stru myStru;
4ответа
7 голосов
Каковы преимущества удаления элементов массива хранения?
Мне было интересно узнать, какие преимущества мы получаем от удаления элементов из массива хранения в контрактах ethereum?
Это конкретное состояние уже находится в блоке, не так ли?
Может ли к
2ответа
7 голосов
Вызов общего массива структур с помощью web3
Добрый день.
У меня есть массив структур, например:
User[] public users;
struct User{
uint idNum;
string name;
address userAddress;
}
И я пытаюсь получить массив пользователей
4ответа
7 голосов
Вставка сплайсинга по индексу по твердости
У меня есть структура, и я бы хотел удалить элемент по индексу:
struct Payout {
address addr;
uint yield;
}
Payout[] public payouts;
Я не знаком с структурами и больше использую для работы
1ответ
7 голосов
Максимальный размер массива в Solidity?
И если да, то что это?
Кроме того, отличается ли он от dynamic и статических массивов?
Мое первоначальное предположение:
статически объявленный массив имеет максимальное количество сло
1ответ
7 голосов
Удобно ли использовать сопоставления в качестве временных экземпляров KeyValue?
Рассмотрим следующий контракт, который иллюстрирует проблему. Здесь мы имеем динамический массив отображений, add() предназначен для добавления нового нового сопоставления в конец массива, возврата