Comments 11
Какой объем хранилища занимает маппинг надо смотреть в исходниках клиента, который вы используете geth или parity. Конкретно изучать trie деревья, кодирование в RLP и код записи и чтения базы данных.
UFO just landed and posted this here
Плюс, любой массив, не ограниченный сверху — это потенциальная дыра. Если количество элементов дорастет до некоторого большого значения, а внутри цикла будут потребляться вычислительные ресурсы, можно упереться в лимит по газу (больше определенного числа вычислений нельзя выполнить в транзакции). Запись значения в storage стоит десятки тысяч газа, hardlimit — вроде сейчас 8млн, так что особо много циклами не сделаешь. Только в вычислительных задачах, причем довольно простых. Поэтому смарт-контракт — это набор крайне легковесных функций
Виртуальная машина Solidity крайне неэффективна — на этом можно закончить. Вообще любой юзкейс отлично кодируется внутри кода блокчейна, смысла в виртуальной машине кодить что либо внутри своего приватном permissioned чейна ноль. Оверхед у ВМ адовый же.
Возможно, кто-нибудь из читателей сможет подсказать свой вариант.
Миллион дадите?
Миллион дадите?
А что если использовать массив вот так:
?
contract TesterBoolArray {
bool[2 ** (32 * 8)] StoragedArray;
function Storing(bytes32 data) {
uint256 i = uint256(data);
if (!StoragedArray[i])
StoragedArray[i] = true;
}
}
}
?
Странный тест — поведение маппингов и массивов подробно описано в доке. Зачем статью из этого делать — неясно
Ну, собственно тесты и предназначены для того, чтобы проверить соответствие того, что написано в доке тому, что получилось в жизни. Ведь оно не всегда совпадает...
А я вот никогда эти биткойны и блокчены не понимал.
В школе учили нас закону сохранения энергии — если где-то что-то прибывает, значит это где-то убывает. Если у меня появились 100 евро. значит они где-то пропали. Если я намыл золото в реке. значит его в ней стало меньше. А биткойны из воздуха майнятся? У кого они пропадают?
Не, думаю, Райффайзен и тут народ дурит…
В школе учили нас закону сохранения энергии — если где-то что-то прибывает, значит это где-то убывает. Если у меня появились 100 евро. значит они где-то пропали. Если я намыл золото в реке. значит его в ней стало меньше. А биткойны из воздуха майнятся? У кого они пропадают?
Не, думаю, Райффайзен и тут народ дурит…
Sign up to leave a comment.
Вопрос на миллион