Отличный канал который ведёт Руслан Ravana. Поможет понять начальные принципы программирования на Solidity, так и суть blockchain.
https://www.youtube.com/c/RuslanRavana
https://www.youtube.com/c/RuslanRavana
❤1
Шпаргалка (Cheatsheet) Solidity [Переведено на русский]
Global Variables
block.coinbase (address): (текущий адрес майнера блока)current block miner's address
block.difficulty (uint):(текущая сложность блока) current block difficulty
block.gaslimit (uint):(текущий блок gaslimit) current block gaslimit
block.number (uint): (текущий номер блока) current block number
block.blockhash (function(uint) returns (bytes32)): (хеш данного блока)hash of the given block
block.timestamp (uint): (отметка времени текущего блока) current block timestamp
msg.data (bytes): (полная Calldata) complete calldata
msg.gas (uint): (оставшийся газ) remaining gas
msg.sender (address): (отправитель сообщения (текущий звонок)) sender of the message (current call)
msg.value (uint): (количество вэй, отправленных с сообщением) number of wei sent with the message
now (uint): (отметка времени текущего блока (псевдоним для block.timestamp)) current block timestamp (alias for block.timestamp)
tx.gasprice (uint): (цена на газ по сделке) gas price of the transaction
tx.origin (address): (отправитель транзакции (полная цепочка вызовов)) sender of the transaction (full call chain)
sha3(...) returns (bytes32): (вычислить хэш Ethereum-SHA3 (плотно упакованных) аргументов) compute the Ethereum-SHA3 hash of the (tightly packed) arguments
sha256(...) returns (bytes32): (вычислить хэш SHA256 (плотно упакованных) аргументов) compute the SHA256 hash of the (tightly packed) arguments
ripemd160(...) returns (bytes20): (вычислить RIPEMD из 256 (плотно упакованных) аргументов
ecrecover (bytes32, byte, bytes32, bytes32) возвращает (адрес): восстановить открытый ключ из подписи эллиптической кривой) compute RIPEMD of 256 the (tightly packed) arguments
ecrecover(bytes32, byte, bytes32, bytes32) returns (address): (восстановить открытый ключ из подписи эллиптической кривой) recover public key from elliptic curve signature
this (current contract's type): (текущий контракт, явно конвертируемый в адрес
super: контракт на один уровень выше в иерархии наследования) the current contract, explicitly convertible to address
super: (контракт на один уровень выше в иерархии наследования) the contract one level higher in the inheritance hierarchy
suicide(address): (самоубийство по текущему контракту, отправив свои средства по указанному адресу
<адрес> .balance: баланс адреса в Вэй) suicide the current contract, sending its funds to the given address
<address>.balance: (баланс адреса в Вэй) balance of the address in Wei
<address>.send(uint256) returns (bool): (отправить заданное количество Wei на адрес, в случае неудачи возвращает false.) send given amount of Wei to address, returns false on failure.
Спецификаторы видимости функций (Function Visibility Specifiers)
function myFunction() <visibility specifier> returns (bool) {
return true;
}
public: (видимый снаружи и внутри (создает функцию доступа для переменных хранилища / состояния)) visible externally and internally (creates accessor function for storage/state variables)
private: (виден только в текущем контракте) only visible in the current contract
external: (виден только извне (только для функций) - т.е. может быть вызван только через сообщение (via this.fun)) only visible externally (only for functions) - i.e. can only be message-called (via this.fun)
internal: (виден только внутри) only visible internally
Модификаторы (Modifiers)
constant for state variables: (Запрещает назначение (кроме инициализации), не занимает слот памяти.) Disallows assignment (except initialisation), does not occupy storage slot.
constant for functions: (Запрещает изменение состояния - это еще не принудительно.) Disallows modification of state - this is not enforced yet.
anonymous for events: (Не сохраняет подпись события как тему.) Does not store event signature as topic.
indexed for event parameters: (Сохраняет параметр как тему.) Stores the parameter as topic.
Types
TODO
Оригинал GitHub: https://github.com/ethereum/wiki/wiki/%5BRussian%5D-%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE-%D0%BF%D0%BE-Solidity#cheatsheet
Global Variables
block.coinbase (address): (текущий адрес майнера блока)current block miner's address
block.difficulty (uint):(текущая сложность блока) current block difficulty
block.gaslimit (uint):(текущий блок gaslimit) current block gaslimit
block.number (uint): (текущий номер блока) current block number
block.blockhash (function(uint) returns (bytes32)): (хеш данного блока)hash of the given block
block.timestamp (uint): (отметка времени текущего блока) current block timestamp
msg.data (bytes): (полная Calldata) complete calldata
msg.gas (uint): (оставшийся газ) remaining gas
msg.sender (address): (отправитель сообщения (текущий звонок)) sender of the message (current call)
msg.value (uint): (количество вэй, отправленных с сообщением) number of wei sent with the message
now (uint): (отметка времени текущего блока (псевдоним для block.timestamp)) current block timestamp (alias for block.timestamp)
tx.gasprice (uint): (цена на газ по сделке) gas price of the transaction
tx.origin (address): (отправитель транзакции (полная цепочка вызовов)) sender of the transaction (full call chain)
sha3(...) returns (bytes32): (вычислить хэш Ethereum-SHA3 (плотно упакованных) аргументов) compute the Ethereum-SHA3 hash of the (tightly packed) arguments
sha256(...) returns (bytes32): (вычислить хэш SHA256 (плотно упакованных) аргументов) compute the SHA256 hash of the (tightly packed) arguments
ripemd160(...) returns (bytes20): (вычислить RIPEMD из 256 (плотно упакованных) аргументов
ecrecover (bytes32, byte, bytes32, bytes32) возвращает (адрес): восстановить открытый ключ из подписи эллиптической кривой) compute RIPEMD of 256 the (tightly packed) arguments
ecrecover(bytes32, byte, bytes32, bytes32) returns (address): (восстановить открытый ключ из подписи эллиптической кривой) recover public key from elliptic curve signature
this (current contract's type): (текущий контракт, явно конвертируемый в адрес
super: контракт на один уровень выше в иерархии наследования) the current contract, explicitly convertible to address
super: (контракт на один уровень выше в иерархии наследования) the contract one level higher in the inheritance hierarchy
suicide(address): (самоубийство по текущему контракту, отправив свои средства по указанному адресу
<адрес> .balance: баланс адреса в Вэй) suicide the current contract, sending its funds to the given address
<address>.balance: (баланс адреса в Вэй) balance of the address in Wei
<address>.send(uint256) returns (bool): (отправить заданное количество Wei на адрес, в случае неудачи возвращает false.) send given amount of Wei to address, returns false on failure.
Спецификаторы видимости функций (Function Visibility Specifiers)
function myFunction() <visibility specifier> returns (bool) {
return true;
}
public: (видимый снаружи и внутри (создает функцию доступа для переменных хранилища / состояния)) visible externally and internally (creates accessor function for storage/state variables)
private: (виден только в текущем контракте) only visible in the current contract
external: (виден только извне (только для функций) - т.е. может быть вызван только через сообщение (via this.fun)) only visible externally (only for functions) - i.e. can only be message-called (via this.fun)
internal: (виден только внутри) only visible internally
Модификаторы (Modifiers)
constant for state variables: (Запрещает назначение (кроме инициализации), не занимает слот памяти.) Disallows assignment (except initialisation), does not occupy storage slot.
constant for functions: (Запрещает изменение состояния - это еще не принудительно.) Disallows modification of state - this is not enforced yet.
anonymous for events: (Не сохраняет подпись события как тему.) Does not store event signature as topic.
indexed for event parameters: (Сохраняет параметр как тему.) Stores the parameter as topic.
Types
TODO
Оригинал GitHub: https://github.com/ethereum/wiki/wiki/%5BRussian%5D-%D0%A0%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE-%D0%BF%D0%BE-Solidity#cheatsheet
GitHub
[Russian] Руководство по Solidity
The Ethereum Wiki. Contribute to ethereum/wiki development by creating an account on GitHub.
Хорошие краны для получения тестового эфира.
🚰1. faucet.paradigm.xyz/
🚰2. faucet.dimensions.network/
@ Поделись, ссылкой если знаешь еще🚰
🚰1. faucet.paradigm.xyz/
🚰2. faucet.dimensions.network/
@ Поделись, ссылкой если знаешь еще🚰
Памятка при диплоинге контракта ERC-20 Token через HardHat
Читать статью
Читать статью
1% всех Эфиров уничтожены 🪓
Механизм сжигания ETH появился 5 августа текущего года — с того момента было сожжено уже 1 237 000 монет. А это ~1% выпущенных ETH за всю историю.
Механизм сожжения подразумевает, что эти монеты навсегда были выведены из оборота.
👨🏫 Зачем это нужно?
Сжигание монет — это защита от инфляции.
В отличие от BTC, максимальное количество ETH в обращении не ограничено. С каждым годом Эфиров становится больше и больше, из-за чего они подвержены обесцениванию.
После выхода Ethereum 2.0 количество ETH в обращении будет уменьшаться еще быстрее, потому что эмиссия снизится примерно на 90% (с учетом EIP-1559).
🔥 Отслеживать сжигание монет можно тут: ultrasound.money
По данным сайта, переход на ETH 2.0 позволит достигнуть отрицательной эмиссии: –2.4% в год. Это значит, что ежегодное количество сжигаемых монет будет больше, чем выпущенных.
Механизм сжигания ETH появился 5 августа текущего года — с того момента было сожжено уже 1 237 000 монет. А это ~1% выпущенных ETH за всю историю.
Механизм сожжения подразумевает, что эти монеты навсегда были выведены из оборота.
👨🏫 Зачем это нужно?
Сжигание монет — это защита от инфляции.
В отличие от BTC, максимальное количество ETH в обращении не ограничено. С каждым годом Эфиров становится больше и больше, из-за чего они подвержены обесцениванию.
После выхода Ethereum 2.0 количество ETH в обращении будет уменьшаться еще быстрее, потому что эмиссия снизится примерно на 90% (с учетом EIP-1559).
🔥 Отслеживать сжигание монет можно тут: ultrasound.money
По данным сайта, переход на ETH 2.0 позволит достигнуть отрицательной эмиссии: –2.4% в год. Это значит, что ежегодное количество сжигаемых монет будет больше, чем выпущенных.
Alchemy запустил университет для тех кто хочет изучать технологии web3 .
https://www.web3.university/
Материалы создаются с такими гигантами блокчейн мысли как -
a16z, Pantera Capital, Arbitrum (Offchain Labs), Polygon, Flow, Optimism, OpenSea, buildspace, Chainshot.
Вводный материал.
1. Hello world! Smart contract
2. Interacting with a Smart Contract
3. Integrating Your Smart Contract with the Frontend
https://www.web3.university/
Материалы создаются с такими гигантами блокчейн мысли как -
a16z, Pantera Capital, Arbitrum (Offchain Labs), Polygon, Flow, Optimism, OpenSea, buildspace, Chainshot.
Вводный материал.
1. Hello world! Smart contract
2. Interacting with a Smart Contract
3. Integrating Your Smart Contract with the Frontend
👨🏻💻Перевод лекций из MIT на тему Blockchain.
Отличный материал
https://youtube.com/playlist?list=PLDTlYmDW7oIgx1WrpkEAkrQVF-hvdConK
P.s Во второй лекции предлагается прочесть документ Сатоши. Вот хороший перевод : https://www.hib.ru/bitkojn-bitcoint-white-paper-na-russkom/
Отличный материал
https://youtube.com/playlist?list=PLDTlYmDW7oIgx1WrpkEAkrQVF-hvdConK
P.s Во второй лекции предлагается прочесть документ Сатоши. Вот хороший перевод : https://www.hib.ru/bitkojn-bitcoint-white-paper-na-russkom/
YouTube
Курс MIT по криптовалютам
Share your videos with friends, family, and the world
Если у вас есть желание разобраться про то, как создаются NFT. И не только в написании erc721 контрактов, но и в генерации изображений с метаданными . Данный канал вам поможет https://youtube.com/c/HashLipsNFT
К слову у них есть на гитхабе отличный код на js для генерации изображений.
К слову у них есть на гитхабе отличный код на js для генерации изображений.
pinata.cloud - грубо говоря это децентрализованная флешка. На которой хранится информация, которую вы сами загружаете. С помощью смарт контрактов этими файлами можно манипулировать. Например при mint NFT.
Pinata-это самый простой способ загрузки файлов в IPFS и управления ими.
1 ГБ предоставляется разработчикам бесплатно
Pinata-это самый простой способ загрузки файлов в IPFS и управления ими.
1 ГБ предоставляется разработчикам бесплатно
У вас задача создать NFT для игры, какую сеть вы бы использовали ?
Anonymous Poll
34%
Poligon
21%
BSC
37%
Etherium
5%
TRON
20%
Solana
🤔Что такое Moralis?
Моралис предоставляет управляемый бэкэнд для блокчейн-проектов.
Автоматическая синхронизация балансов ваших пользователей с базой данных, позволяющая настраивать оповещения по цепочке, следить за событиями смарт-контрактов, создавать индексы и многое другое.
Доступ ко всем функциям осуществляется с помощью простого в использовании SDK.
💻Зачем использовать Моралис?
Моралис - довольно быстрый способ создания и развертывания dApps на Ethereum, BSC, Polygon, Solana и Elrond (скоро появятся новые).
Независимо от того, создаете ли вы свой первый блокчейн-проект или уже являетесь опытным разработчиком - Moralis пытается создать продукт который упростит создание, поддержку и улучшение ваших проектов.
Moralis.io
Моралис предоставляет управляемый бэкэнд для блокчейн-проектов.
Автоматическая синхронизация балансов ваших пользователей с базой данных, позволяющая настраивать оповещения по цепочке, следить за событиями смарт-контрактов, создавать индексы и многое другое.
Доступ ко всем функциям осуществляется с помощью простого в использовании SDK.
💻Зачем использовать Моралис?
Моралис - довольно быстрый способ создания и развертывания dApps на Ethereum, BSC, Polygon, Solana и Elrond (скоро появятся новые).
Независимо от того, создаете ли вы свой первый блокчейн-проект или уже являетесь опытным разработчиком - Moralis пытается создать продукт который упростит создание, поддержку и улучшение ваших проектов.
Moralis.io
👍3
Alchemy и Infura - это провайдеры.
Провайдер может обрабатывать подписание транзакции, а также подключение к сети Ethereum без необходимости синхронизировать ноду.
Предоставляет инструменты и инфраструктуру, которые позволяют разработчикам легко переводить свое блокчейн-приложение от тестирования до масштабированного развертывания - с простым и надежным доступом к Ethereum и IPFS.
Infura - free/paid
Alchemy - free/paid
Alchemy Платформа поставляется с продуктом “Монитор”, который обеспечивает всестороннюю производительность и понимание пользователей для улучшения работоспособности и производительности приложений.
Как и Infura, Alchemy поддерживает основную сеть и тестовые сети Ethereum (Ринкеби, Ропстен, Кован, Герли). Alchemy также поддерживает свертку Arbitrum, Optimism Ethereum и Полигон. Помимо этих сетей, он также предлагает разработчикам опираться на поток и Crypto.org цепи.
alchemy.com
infura.io
Провайдер может обрабатывать подписание транзакции, а также подключение к сети Ethereum без необходимости синхронизировать ноду.
Предоставляет инструменты и инфраструктуру, которые позволяют разработчикам легко переводить свое блокчейн-приложение от тестирования до масштабированного развертывания - с простым и надежным доступом к Ethereum и IPFS.
Infura - free/paid
Alchemy - free/paid
Alchemy Платформа поставляется с продуктом “Монитор”, который обеспечивает всестороннюю производительность и понимание пользователей для улучшения работоспособности и производительности приложений.
Как и Infura, Alchemy поддерживает основную сеть и тестовые сети Ethereum (Ринкеби, Ропстен, Кован, Герли). Alchemy также поддерживает свертку Arbitrum, Optimism Ethereum и Полигон. Помимо этих сетей, он также предлагает разработчикам опираться на поток и Crypto.org цепи.
alchemy.com
infura.io
👍2
Web3 что это ? на пальцах в примерах
Логин
web1: логин в аккаунт через емейл и пароль
web2: логин через oauth google/facebook
web3: логин через свой crypto кошелек
Оплата
web1: оплатить через выставленный счет, на который отправляешь bank wire на расчетный счет
web2: оплатить с выданной банком карты, перейдя на внешнюю эквайринг страницу
web3: оплатить нативными деньгами кошелька, не уходя со страницы
Персональные данные
web1: персональные данные на сервере поставщика услуги
web2: персональные данные в облаке поставщика услуги
web3: персональные данные не раскрываются, раскрывается только адрес счета кошелька и баланс кошелька
Данные пользователей
web1: действия и количество пользователей видны администратору
web2: видны только количество связей между пользователями, владельцу видно все
web3: всем видны действия всех, данные обезличены
Узнать больше
Логин
web1: логин в аккаунт через емейл и пароль
web2: логин через oauth google/facebook
web3: логин через свой crypto кошелек
Оплата
web1: оплатить через выставленный счет, на который отправляешь bank wire на расчетный счет
web2: оплатить с выданной банком карты, перейдя на внешнюю эквайринг страницу
web3: оплатить нативными деньгами кошелька, не уходя со страницы
Персональные данные
web1: персональные данные на сервере поставщика услуги
web2: персональные данные в облаке поставщика услуги
web3: персональные данные не раскрываются, раскрывается только адрес счета кошелька и баланс кошелька
Данные пользователей
web1: действия и количество пользователей видны администратору
web2: видны только количество связей между пользователями, владельцу видно все
web3: всем видны действия всех, данные обезличены
Узнать больше
👍4
В этих стейблкоинах доступна функция заморозки средств.
USDT-Bitcoin (issuer can freeze: yes, contract open source: yes)
USDT-Ethereum (issuer can freeze: yes: open source: yes)
USDT-EOS (issuer can freeze: yes, open source: no)
USDT-Tron (issuer can freeze: yes, open source: no)
USDT-Liquid (issuer can freeze: no, open source: yes)
USDC-Ethereum (issuer can freeze: yes, open source: yes)
PAX-Ethereum (issuer can freeze: yes, open source: yes)
TUSD-Ethereum (issuer can freeze: yes, open source: yes)
TUSD-Binance (issuer can freeze: yes, open source: no)
BUSD-Ethereum (issuer can freeze: yes, open source: yes)
Имейте ввиду, при выборе надежного способа хранения
USDT-Bitcoin (issuer can freeze: yes, contract open source: yes)
USDT-Ethereum (issuer can freeze: yes: open source: yes)
USDT-EOS (issuer can freeze: yes, open source: no)
USDT-Tron (issuer can freeze: yes, open source: no)
USDT-Liquid (issuer can freeze: no, open source: yes)
USDC-Ethereum (issuer can freeze: yes, open source: yes)
PAX-Ethereum (issuer can freeze: yes, open source: yes)
TUSD-Ethereum (issuer can freeze: yes, open source: yes)
TUSD-Binance (issuer can freeze: yes, open source: no)
BUSD-Ethereum (issuer can freeze: yes, open source: yes)
Имейте ввиду, при выборе надежного способа хранения
Написание контрактов это прекрасно.
Новый шаг это общение с контрактом из своего сайта.
(Короче web3)
Первое с чего можно начать это с понимания чтовсе уже есть в библиотеке web3.js
Что нужно уметь :
в принципе уметь писать контракты,
немного Java noscript (html\css).
Следующие посты будут своего рода уроками по началу web3.
Самостоятельность :
Руководство
Connect Metamack
Новый шаг это общение с контрактом из своего сайта.
(Короче web3)
Первое с чего можно начать это с понимания что
Что нужно уметь :
в принципе уметь писать контракты,
немного Java noscript (html\css).
Следующие посты будут своего рода уроками по началу web3.
Самостоятельность :
Руководство
Connect Metamack
👍6