Описание тега starknet
1
ответ
Проверка результата сообщения/вызова L1 -> L2 в Starknet
Я написал пару контрактов для L1 (Ethereum) и L2 (Starknet), и они общаются здесь . Я вижу, что L1 отправил ожидаемое сообщение, см. этот TX на etherscan . Однако последнее сообщение там никогда не выполнялось в моем контракте L2. Я пытаюсь выяснить…
14 май '22 в 11:37
0
ответов
Что значит объявить «локальную» переменную внутри «let»?
Как я понимаю, letопределяет ссылку, которую можно рассматривать как псевдоним, например let x = y * y * yне вычисляет, а вхождения xбудет заменен y * y * y. Локальные переменные аналогичны локальным переменным других языков. Как и в https://www.cai…
04 апр '22 в 13:42
1
ответ
когда использовать оптимизацию хвостового вызова в смарт-контракте cairo
Я часто могу сделать терминальную рекурсивную версию своих функций с немного менее элегантным кодом. Должен ли я сделать это, потому что это может снизить комиссию, или я должен оставить неоптимизированную версию? Например, вот «неоптимизированная» …
20 май '22 в 16:08
1
ответ
Почему эта каирская программа хранит в памяти степень двойки?
Я пытаюсь решить этот бонусный вопрос из учебника «Как работает Каир». Я запустил следующую функцию, открыл трассировщик Cairo и увидел, что память заполнена степенями двойки. Почему? func main(): [fp + 1] = 2; ap++ [fp] = 5201798304953761792; ap++ …
16 мар '22 в 16:27
3
ответа
что означает код ошибки Starknet «ENTRY_POINT_NOT_FOUND_IN_CONTRACT»?
Я новичок в Каире и StarkNet. Я использую простой контракт, указанный в следующей ссылке документов Каира. Я следую всем шагам. После компиляции, когда я пытаюсь объявить контракт, выдается следующая ошибка. Ошибка Got BadRequest при попытке доступа…
09 сен '22 в 06:02
1
ответ
Как преобразовать струну в каирский войлок (элемент поля)?
Cairo требует, чтобы все данные были войлочными. https://www.cairo-lang.org/docs/how_cairo_works/cairo_intro.html#field-elements Как преобразовать строку в войлок в JavaScript?
13 сен '22 в 13:31
0
ответов
Развертывание контракта Cairo с использованием Protostar
protostar invoke --contract-address 0x041a78e741e5af2fec34b695679bc6891742439f7afb8484ecd7766661ad02bf --function "deployContract" --network testnet --account-address 0x0691622bBFD29e835bA4004e7425A4e9630840EbD11c5269DE51C16774585b16 --max-fee auto…
16 дек '22 в 00:39
1
ответ
Проблема с объявлением образца контракта в тестовой сети starknet
Я пытаюсь объявить образец контракта, как определено здесь: https://www.cairo-lang.org/docs/hello_starknet/intro.html#declare-contract При вызове starknet declare --contract contract_compiled.json Я все еще получаю: Got BadRequest while trying to ac…
05 янв '23 в 12:24
1
ответ
Как сгенерировать доказательство для программы Cairo и проверить его?
В SNARK вы можете использовать Zokrates или snarkjs , чтобы сгенерировать доказательство для программы/вычисления и проверить его локально или на Ethereum. Подобно этому оставшемуся без ответа вопросу , как сделать то же самое в Каире и СТАРКЕ, скаж…
20 июл '22 в 18:01
2
ответа
В чем неэффективность этого каирского кода с использованием alloc_locals
Следующий код: func pow4(n) -> (m : felt): alloc_locals local x jmp body if n != 0 [ap] = 0; ap++ ret body: x = n * n [ap] = x * x; ap++ ret end func main(): pow4(n=5) ret end объявлен неэффективным в документе из-за прерывистой памяти. Я запусти…
13 июн '22 в 10:20
1
ответ
Почему range_check_ptr проверяет [0, 2^128) вместо [0, P/2)
Согласно документу, войлок — это элемент поля, то есть любое целое число в диапазоне [0, P) с P = 2 ^ 251 + 17 * 2 ^ 192 + 1. С другой стороны, range_check_ptr проверяет, находится ли войлок в пределах [0, 2^128). Я не понимаю этого ограничения: поч…
09 июл '22 в 14:43
0
ответов
Не удалось найти модуль «starkware.cairo.common.bool»
При попытке скомпилировать этот код в cairo взят с: https://wizard.openzeppelin.com/cairo %lang starknet from starkware.cairo.common.cairo_builtins import HashBuiltin from starkware.cairo.common.uint256 import Uint256 from starkware.cairo.common.boo…
18 июл '22 в 13:01
0
ответов
Как получить идентификатор цепочки Старкнета с помощью javascript
См. https://docs.starknet.io/docs/Blocks/transactions/#chain-id . Пример написан на питоне. Как мне сделать эквивалент в javascript?
08 июл '22 в 09:36
1
ответ
Как оптимизировать газ в Каире с помощью Uint256/felt?
Я изучаю Cairo и хочу узнать больше об оптимизации газа. В компиляторе Solidity есть разница между записью uint128 и uint256. Аналогично C и другим языкам, например: contract ThisIsNotAnOptimizedContract{ uint128 Zero; uint256 One; uint128 Two; } co…
29 ноя '22 в 15:57
1
ответ
развертывание предварительно профинансированной учетной записи OZ с помощью starknet js
несколько спецификаций: работает на goerli alpha, starknet js 0.4.9 Я пытаюсь развернуть предварительно профинансированную учетную запись openzeppelin 0.5.0. Я обнаружил, что хэш класса:ACC_CLASS_HASH=0x750cd490a7cd1572411169eaa8be292325990d33c5d473…
14 ноя '22 в 05:48
0
ответов
Как правильно читать ленту данных chainlink на Starknet
В Starknet (testnet) я хотел бы узнать текущую цену ETH/USD через другой контракт. Однако при вызове моего контракта со starknet cli, чтобы узнать, могу ли я получить цену, я получаю следующую ошибку: Error message: SimpleReadAccessController: addre…
23 фев '23 в 11:02
0
ответов
Я получил эту ошибку protostar, когда пытался инициализировать проект
я побежалprotostar initи получил эту ошибку ниже: protostar init [5238] Error loading Python lib '/home/page/.protostar/dist/protostar/libpython3.9.so.1.0': dlopen: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.35' not found (required by /home/p…
05 фев '23 в 17:07
1
ответ
Сколько стоит хранилище в StarkNet?
Если хранение одного значения в виртуальной машине Ethereum стоит 20 000 газа, сколько это стоит на стороне StarkNet? Являются ли последующие обновления того же слота более дешевыми? Я предполагаю, что точный ответ, вероятно, зависит, по крайней мер…
06 июн '22 в 03:22
1
ответ
Тестирование функции контракта Starknet Cairo с адресом
Я создал модуль на языке Cairo и хотел бы протестировать его. Контракт довольно прост: он управляет списком авторизованных адресов и предоставляет некоторые вспомогательные функции «модификатора». Я взял пример кода модульного тестирования из докуме…
19 июл '22 в 10:02
1
ответ
HashBuiltin - Каир
у меня этоcontract.cairo:3:59: Unknown identifier 'HashBuiltin'после выполнения: starknet-compile contract.cairo --output contract_compiled.json --abi contract_abi.json код : @external func increase_balance{syscall_ptr : felt*, pedersen_ptr : HashBu…
18 июл '22 в 11:41