Описание тега evm

По вопросам о языке программирования виртуальной машины Ethereum, языке программирования смарт-контрактов на блокчейне Ethereum.
0 ответов

Не удается заставить диализатор работать с evm

Я имею erlang 17.5 установлен в /usr/local/lib. evm считает, что мою "систему" устанавливают. После установки evm я скачал erlang 19.2и я могу переключаться между двумя версиями erlang, используя: $ evm system (erlang 17.5) $ evm use 19.2 (erlang 19…
22 мар '17 в 22:12
1 ответ

Солидность 0.5.0 слишком много переменных

Я пытаюсь скомпилировать умный контракт, используя инфраструктуру Truffle, и получаю следующий вывод: Compiling ./contracts/PartProduction.sol... InternalCompilerError: Stack too deep, try using fewer variables. Compilation failed. See above. Truffl…
10 янв '19 в 09:10
0 ответов

Как вы можете ускорить виртуальную машину Ethereum?

Мое понимание компьютерного оборудования состоит в том, что конкретное аппаратное обеспечение может быть оптимизировано для определенной цели. Возможен ли тот же принцип для программного обеспечения? Если бы кто-то ограничил EVM несколькими операция…
2 ответа

Как разрешаются JUMP и JUMPDEST для байт-кода Ethereum?

Я искал информацию о том, как Ethereum справляется с прыжками и пунктами назначения прыжков. Из разных блогов и желтой бумаги я обнаружил следующее: Операнд, взятый JUMP и первый из двух операндов, взятых JUMPI являются значением PC устанавливается …
27 ноя '17 в 21:57
0 ответов

Размер твердости типа отображения

В Solidity, есть максимальное количество ключей или пар ключ-значение, которое может хранить отображение? Если так, то какой максимум? Кроме того, максимальное количество отличается в зависимости от типов переменных ключей и значений этого отображен…
10 сен '18 в 03:40
2 ответа

Как работает код операции JUMP в стеке EVM?

Я следую за учебником "Advanced Solidity" здесь. Я столкнулся с примером, у меня проблемы с пониманием. В этом примере, почему JUMP влияет на состояние стека? Я ожидал, что это повлияет только на счетчик программы. (т.е. я ожидал бы после JUMP, на П…
17 июн '17 в 08:45
0 ответов

Capstone ethereum

Согласно репозиторию capstone, была добавлена ​​поддержка байт-кода Ethereum Virtual Machine (EVM). Однако я не могу понять, как использовать capstone для EVM, ни с Java, ни с привязками python (я пробовал только эти два языка). Соответствующие доку…
04 окт '18 в 19:18
0 ответов

Вызовите функцию умного контракта, используя INFURA

Я не могу понять, как я могу подготовить транзакцию, подписать ее, а затем отправить ее с помощью INFURA. Я ожидаю, что что-то не так с кодом NodeJS, который я разместил. Может ли кто-нибудь любезно помочь мне решить эту проблему? Примечание. Я могу…
15 фев '19 в 14:29
1 ответ

Go-Ethereum | Как подключиться к общедоступному Ropsten(testnet), работающему на локальном

В основном я хочу подключиться к общедоступной тест-сети Ropsten. Я запускаю geth на локальном компьютере с несколькими вариантами. (--testnet, --rpc, --rpcapi, console), Я думал, что смогу получить свою учетную запись (ropsten) и проверить, сколько…
16 янв '18 в 11:18
2 ответа

Сборка солидности, функция mstore и ширина слова в байтах

Я изучаю Сборку Солидности и меня что-то смущает. Я смотрю на эту библиотеку под названием Seriality. В частности, эта функция: https://github.com/pouladzade/Seriality/blob/master/src/TypesToBytes.sol#L21 function bytes32ToBytes(uint _offst, bytes32…
02 июл '18 в 22:30
1 ответ

Размер поля солидности типа отображения

Твердость позволяет отображать типы внутри структуры. Сколько байтов стоит такое поле? В частности, я хотел бы оптимизировать макет хранилища следующего типа. struct Balance { uint40 amount; mapping(address => uint) allowances; }
23 июн '18 в 18:24
2 ответа

Что происходит, когда у отправителя заканчивается газ во время выполнения функции?

Предположим, у нас есть контракт со следующей определенной функцией: function send(address receiver, uint amount) public { if (balances[msg.sender] < amount) return; balances[msg.sender] -= amount; balances[receiver] += amount; emit Sent(msg.send…
28 ноя '18 в 20:09
2 ответа

Сокращается ли Solidity до LLL в процессе его компиляции в байт-код EVM?

Глядя на репозиторий Github компилятора Solidity, я вижу, что в проект также интегрирован LLL-компилятор. Это заставило меня задуматься, не уменьшается ли Solidity до LLL в процессе компиляции в байт-код EVM? Я читал, что LLL служит оболочкой для EV…
31 авг '17 в 10:31
0 ответов

Твердость: Почему этот простой договор хранения не работает?

Я практикуюсь, создавая простой договор хранения, но я не могу хранить или извлекать значения из массива "числа". Uint "structID" не увеличивается, а функция "testRetrieve" возвращает только 0 для правильных индексов. Тот факт, что StructID не увели…
13 мар '18 в 23:22
1 ответ

Ethereumjs-vm, пример запуска-транзакции-завершения без печати хранилища

При выполнении примера, упомянутого в заголовке, после строки "--- Storage ---" ничего не выводится. Насколько я понимаю, по созданному адресу должен храниться null_radix. (бег не дает никаких исключений), пожалуйста, поправьте меня, если я ошибаюсь!
20 ноя '17 в 09:45
1 ответ

Эфириум Смарт Контракт Ассемблер

В целях обучения я хотел бы написать Ethereum Smart Contracts прямо в Ассемблере. Под этим я подразумеваю, что хочу где-то написать коды операций с желтой бумаги, которые затем преобразуются в байт-код. Однако для EVM, похоже, нет чистого Assembler,…
31 июл '17 в 13:29
0 ответов

Объем данных в виртуальных машинах ethereum

Я хотел бы хранить некоторые конфиденциальные данные в моем контракте в форме отображения Используя Твердость ^0.5 mapping(someKey => someStruct) someMap; Я знаю о проблеме конфиденциальности в смарт-контрактах, компилятор автоматически создает ф…
22 май '19 в 18:47
1 ответ

Косвенный байт-код перехода

Я пытаюсь понять Ethereum Bytecodes. Поэтому всякий раз, когда есть какой-либо код операции JUMP/JUMPI, ему предшествует некоторый код операции PUSH. Мой вопрос: как я могу отличить, является ли этот скачок прямым или косвенным? Может кто-нибудь пре…
20 июл '19 в 08:56
0 ответов

C двоичный код (после компиляции) в EVM преобразование байт-кода

Рассмотрим следующий пример: Предположим, у меня есть функция ADD, написанная на языке C, которая добавляет два целых числа int A и int B и возвращает сумму C. Теперь я хочу убедиться, что моя функция ADD работает правильно, используя блокчейн Ether…
28 июл '19 в 03:54
0 ответов

Вызов функции smartcontract выдает ошибку

Я пытаюсь развернуть smartcontract на Python. Все идет хорошо, кроме того, что когда я вызываю функцию получения умного контракта, он выдает ошибку. Он заменил main.py в py-eth уже и это решило все начальные ошибки. import json from web3 import Web3…
26 авг '19 в 15:02