
Доказательство мошенничества с нулевым разглашением
ВведениеПри разработке роллапа одним из ключевых соображений дизайна является то, как обеспечить безопасность и доверие, одновременно увеличивая масштабируемость базового Layer 1. Для оптимистичных роллапов, безопасность обеспечивается в виде доказательств мошенничества: доказательства того, что исполнение на уровне роллапа было неправильным, и это состояние должно быть возвращено В отличие от существующих оптимистичных роллапов, Layer N не полагается на воспроизведение транзакций onchain для...
Учебные DAO - это новые университеты
934 года назад в Болонье, Италия, был основан старейший университет в мире.Болонский университет сформировался через группу обществ взаимопомощи, возглавляемых студентами, в основном состоящих из иностранных студентов, ищущих защиты от дискриминационных городских законов. Законы предусматривали коллективное наказание иностранцев за долги и преступления их соотечественников. Однако под эгидой Университета, эти студенческие сообщества могли приглашать ученых для чтения лекций, создавать студенч...
Как обойти ограничение окружения в 4 КБ на Vercel
В Layer3, мы запускаем всю нашу платформу в прекрасно организованном full-stack окружении на Vercel. Весь серверный и клиентский код написан на TypeScript и использует многие модули и типы. Все шло хорошо, пока однажды…У Vercel есть ограничение на переменную окружения в 4 КБ. Это вызвано базовой инфраструктурой AWS Lambda, но, хотя у AWS есть некоторые решения для правильного управления секретами, Vercel в основном говорит, что вам нужно создать собственное управление секретами. В это время, ...



Доказательство мошенничества с нулевым разглашением
ВведениеПри разработке роллапа одним из ключевых соображений дизайна является то, как обеспечить безопасность и доверие, одновременно увеличивая масштабируемость базового Layer 1. Для оптимистичных роллапов, безопасность обеспечивается в виде доказательств мошенничества: доказательства того, что исполнение на уровне роллапа было неправильным, и это состояние должно быть возвращено В отличие от существующих оптимистичных роллапов, Layer N не полагается на воспроизведение транзакций onchain для...
Учебные DAO - это новые университеты
934 года назад в Болонье, Италия, был основан старейший университет в мире.Болонский университет сформировался через группу обществ взаимопомощи, возглавляемых студентами, в основном состоящих из иностранных студентов, ищущих защиты от дискриминационных городских законов. Законы предусматривали коллективное наказание иностранцев за долги и преступления их соотечественников. Однако под эгидой Университета, эти студенческие сообщества могли приглашать ученых для чтения лекций, создавать студенч...
Как обойти ограничение окружения в 4 КБ на Vercel
В Layer3, мы запускаем всю нашу платформу в прекрасно организованном full-stack окружении на Vercel. Весь серверный и клиентский код написан на TypeScript и использует многие модули и типы. Все шло хорошо, пока однажды…У Vercel есть ограничение на переменную окружения в 4 КБ. Это вызвано базовой инфраструктурой AWS Lambda, но, хотя у AWS есть некоторые решения для правильного управления секретами, Vercel в основном говорит, что вам нужно создать собственное управление секретами. В это время, ...
Share Dialog
Share Dialog

Subscribe to klif

Subscribe to klif
Настройка, сбор и передача с помощью Fuel с NodeJS
Fuel - полный оптимистичный сайдчейн, в настоящее время работает в тестовых сетях на Ethereum Ropsten и Görli.
Сегодня мы пройдёмся по началу работы с Fuel!
💸 Стоимость: чрезвычайно низкие комиссии за транзакции для любых токенов ERC-20 или эфира (ниже 3500 газа за транзакцию, до 2400 в первой версии против на текущий момент ~ 21–50 000 газа);
⚡ Скорость: быстрая нулевая конфигурация времени транзакций (менее 1,4 с, в среднем 0,8 с);
🔀 Мета-транзакция: оплата комиссий любым токеном ERC-20 или эфиром;
🛣️ Высокая пропускная способность: может обрабатывать чрезвычайно большие объемы транзакций с токенами и эфиром (например, десятки тысяч в секунду);
⏩ Направление производства: наша архитектура тщательно разработана для крупномасштабных отказоустойчивых настроек потребительского оборудования как для проверки, так и для использования, без какой-либо зависимости от новой криптографии, надежных настроек или дорогого или специализированного вычислительного оборудования;
🙋 Создать свой собственный: полностью открытый исходный код под Apache-2.0.
Основы: один смарт-контракт содержит все правила консенсуса, системы ввода и вывода средств для сайдчейна Ethereum в Fuel Optimistic Rollup;
Депозит: пользователи вносят активы (например, любой ERC-20 или эфир), которые затем могут извлечь выгоду из минимальных транзакционных издержек и быстрого времени подтверждения без потери хранения или контроля в любое время;
Вывод: пользователи могут выводить в любое время, используя обмен поставщика ликвидности или стандартный вывод (аналогично другим накопительным системам);
Переводы: когда пользователи переводят в Fuel, данные сжимаются нашим агрегатором и выгружаются в Ethereum, однако вы всегда можете сжать и опубликовать свою собственную транзакцию самостоятельно;
Ключи: предпочтительно, чтобы вторичный ключ подписи использовался для подтверждения переводов и вывода в сайдчейне. Средства начисляются на адрес этого подписанного ключа, который затем контролирует эти средства в Fuel. Также можно использовать сторонние подписывающие объекты, например те, которые взаимодействуют с MetaMask, однако должна быть доступна необработанная эллиптическая подпись хэшей;
Wallet: объект основного кошелька Fuel будет управлять расходуемыми входами пользователя в локальной базе данных хранилища ключей и значений по вашему выбору (то есть index db, локальное хранилище, уровень db и т. д.), производством вывода и подписанием транзакций.
Да, если вы любой проект:
когда при выполнении транзакций, вы чувствительны к стоимости или объему;
которому требуется быстрая скорость подтверждения (менее 1,4 секунды);
заинтересованный в создании системы, подобной Burner Wallet;
для которого требуются атомарные обмены без разрешения между любыми токенами ERC-20;
который в конечном итоге хочет развернуть собственную крупномасштабную накопительную систему.
В этом руководстве рассматриваются:
настройка постоянного Fuel кошелька в Node;
подключение поддельного DAI к вашему кошельку;
выполнение вашего первого перевода.
Давайте начнем новый проект Node и установим Fuel, откройте ваш терминал:
mkdir fuel-example && cd fuel-example
npm init
npm install --save fuel-core
nano index.js
Сначала давайте:
импортируем основу Fuel;
настроим ключ подписи;
настроим локальное постоянное хранилище, используя обернутую версию LevelDB и объект Signer.
Примечание: мы активно используем эфир в Fuel и здесь мы используем его стандартизированный подписывающий ключ для накопительного кошелька Fuel. Этот ключ можно рассматривать как ваш Fuel ключ, где токены могут быть внесены в Fuel.
Примечание: в рабочей среде генерация и обработка закрытых ключей должны выполняться с большей энтропией (беспорядок) и с большей осторожностью при хранении. Пока мы будем использовать только DB.
LevelDB с основой Fuel в NodeJS
Теперь давайте:
настроим объект Fuel кошелька с нашей DB и подписывающим;
направим на наш адрес какой-нибудь поддельный DAI.
Примечание: вы можете запускать поддельный DAI только каждые 10 минут с одного IP-адреса, поэтому мы оборачиваем сбор в пустой try/catch (пробывать/украсть), чтобы не выбрасывать за пределы первого 10-минутного окна.
const wallet = new Wallet({ db, signer });
try { await wallet.faucet(); } catch (e) {}
Теперь давайте послушаем изменения в балансе нашего кошелька. Это активирует нашу живую систему pubsub на основе веб-сокетов мемпула.
Примечание: прослушивание сработает при любом изменении баланса кошелька. Это включает в себя суммы кранов, переводы, ввод и вывод.
await wallet.listen(async () => {
console.log('Balance update in transit',
utils.formatEther(await wallet.balance(wallet.tokens.fakeDai)));
});
Теперь давайте сделаем перевод 1,5 фальшивых DAI на наш собственный счет, чтобы проверить перевод.
await wallet.transfer(utils.parseEther(‘1.5’), wallet.tokens.fakeDai, wallet.address);
console.log('You transfered 1.5 Fake Dai to yourself, congrats!');
})(); // finish async method
Теперь давайте сохраним и запустим код локально в Node.
// cntrl + x then y then enter
node index.js
Теперь вы успешно настроили:
локальный кошелек Fuel в Node с
постоянным хранилищем значений ключей;
получили поддельный DAI от крана;
сделали свой первый перевод Fuel!
Пожалуйста, подпишитесь на нас в Twitter @FuelLabs_, @IAmNickDodson или дайте нам звезду на Github или подпишитесь!
Нашу кодовую базу можно найти здесь: https://github.com/FuelLabs/fuel-core
Весь код этого руководства можно найти в Gist здесь: https://gist.github.com/SilentCicero/fb854c440dbc615df6ff419f2c33bd06 .
P.S. Далее мы продемонстрируем, как можно использовать Fuel в браузере.
Фин.
Настройка, сбор и передача с помощью Fuel с NodeJS
Fuel - полный оптимистичный сайдчейн, в настоящее время работает в тестовых сетях на Ethereum Ropsten и Görli.
Сегодня мы пройдёмся по началу работы с Fuel!
💸 Стоимость: чрезвычайно низкие комиссии за транзакции для любых токенов ERC-20 или эфира (ниже 3500 газа за транзакцию, до 2400 в первой версии против на текущий момент ~ 21–50 000 газа);
⚡ Скорость: быстрая нулевая конфигурация времени транзакций (менее 1,4 с, в среднем 0,8 с);
🔀 Мета-транзакция: оплата комиссий любым токеном ERC-20 или эфиром;
🛣️ Высокая пропускная способность: может обрабатывать чрезвычайно большие объемы транзакций с токенами и эфиром (например, десятки тысяч в секунду);
⏩ Направление производства: наша архитектура тщательно разработана для крупномасштабных отказоустойчивых настроек потребительского оборудования как для проверки, так и для использования, без какой-либо зависимости от новой криптографии, надежных настроек или дорогого или специализированного вычислительного оборудования;
🙋 Создать свой собственный: полностью открытый исходный код под Apache-2.0.
Основы: один смарт-контракт содержит все правила консенсуса, системы ввода и вывода средств для сайдчейна Ethereum в Fuel Optimistic Rollup;
Депозит: пользователи вносят активы (например, любой ERC-20 или эфир), которые затем могут извлечь выгоду из минимальных транзакционных издержек и быстрого времени подтверждения без потери хранения или контроля в любое время;
Вывод: пользователи могут выводить в любое время, используя обмен поставщика ликвидности или стандартный вывод (аналогично другим накопительным системам);
Переводы: когда пользователи переводят в Fuel, данные сжимаются нашим агрегатором и выгружаются в Ethereum, однако вы всегда можете сжать и опубликовать свою собственную транзакцию самостоятельно;
Ключи: предпочтительно, чтобы вторичный ключ подписи использовался для подтверждения переводов и вывода в сайдчейне. Средства начисляются на адрес этого подписанного ключа, который затем контролирует эти средства в Fuel. Также можно использовать сторонние подписывающие объекты, например те, которые взаимодействуют с MetaMask, однако должна быть доступна необработанная эллиптическая подпись хэшей;
Wallet: объект основного кошелька Fuel будет управлять расходуемыми входами пользователя в локальной базе данных хранилища ключей и значений по вашему выбору (то есть index db, локальное хранилище, уровень db и т. д.), производством вывода и подписанием транзакций.
Да, если вы любой проект:
когда при выполнении транзакций, вы чувствительны к стоимости или объему;
которому требуется быстрая скорость подтверждения (менее 1,4 секунды);
заинтересованный в создании системы, подобной Burner Wallet;
для которого требуются атомарные обмены без разрешения между любыми токенами ERC-20;
который в конечном итоге хочет развернуть собственную крупномасштабную накопительную систему.
В этом руководстве рассматриваются:
настройка постоянного Fuel кошелька в Node;
подключение поддельного DAI к вашему кошельку;
выполнение вашего первого перевода.
Давайте начнем новый проект Node и установим Fuel, откройте ваш терминал:
mkdir fuel-example && cd fuel-example
npm init
npm install --save fuel-core
nano index.js
Сначала давайте:
импортируем основу Fuel;
настроим ключ подписи;
настроим локальное постоянное хранилище, используя обернутую версию LevelDB и объект Signer.
Примечание: мы активно используем эфир в Fuel и здесь мы используем его стандартизированный подписывающий ключ для накопительного кошелька Fuel. Этот ключ можно рассматривать как ваш Fuel ключ, где токены могут быть внесены в Fuel.
Примечание: в рабочей среде генерация и обработка закрытых ключей должны выполняться с большей энтропией (беспорядок) и с большей осторожностью при хранении. Пока мы будем использовать только DB.
LevelDB с основой Fuel в NodeJS
Теперь давайте:
настроим объект Fuel кошелька с нашей DB и подписывающим;
направим на наш адрес какой-нибудь поддельный DAI.
Примечание: вы можете запускать поддельный DAI только каждые 10 минут с одного IP-адреса, поэтому мы оборачиваем сбор в пустой try/catch (пробывать/украсть), чтобы не выбрасывать за пределы первого 10-минутного окна.
const wallet = new Wallet({ db, signer });
try { await wallet.faucet(); } catch (e) {}
Теперь давайте послушаем изменения в балансе нашего кошелька. Это активирует нашу живую систему pubsub на основе веб-сокетов мемпула.
Примечание: прослушивание сработает при любом изменении баланса кошелька. Это включает в себя суммы кранов, переводы, ввод и вывод.
await wallet.listen(async () => {
console.log('Balance update in transit',
utils.formatEther(await wallet.balance(wallet.tokens.fakeDai)));
});
Теперь давайте сделаем перевод 1,5 фальшивых DAI на наш собственный счет, чтобы проверить перевод.
await wallet.transfer(utils.parseEther(‘1.5’), wallet.tokens.fakeDai, wallet.address);
console.log('You transfered 1.5 Fake Dai to yourself, congrats!');
})(); // finish async method
Теперь давайте сохраним и запустим код локально в Node.
// cntrl + x then y then enter
node index.js
Теперь вы успешно настроили:
локальный кошелек Fuel в Node с
постоянным хранилищем значений ключей;
получили поддельный DAI от крана;
сделали свой первый перевод Fuel!
Пожалуйста, подпишитесь на нас в Twitter @FuelLabs_, @IAmNickDodson или дайте нам звезду на Github или подпишитесь!
Нашу кодовую базу можно найти здесь: https://github.com/FuelLabs/fuel-core
Весь код этого руководства можно найти в Gist здесь: https://gist.github.com/SilentCicero/fb854c440dbc615df6ff419f2c33bd06 .
P.S. Далее мы продемонстрируем, как можно использовать Fuel в браузере.
Фин.
<100 subscribers
<100 subscribers
No activity yet