Ethereum як відкритий Платформа для децентралізованих додатків (DApp) була заснована Віталіком Бутеріним у 2014 році. Основною мотивацією Бутеріна для створення цієї нової блокчейн-технології було значною мірою те, що протокол біткоїна не мав достатньої гнучкості.
Від свого виникнення блокчейн Ethereum привабив безліч розробників, підприємств і підприємців, сприяючи виникненню нової індустрії, яка дозволяє користувачам розгортати смарт-контракти та децентралізовані додатки.
Ця стаття глибоко дослідить стандарт ERC-20, який є ключовою основою для створення токенів. Незважаючи на те, що він застосовується лише в мережі Ethereum, він надихнув на появу інших стандартів блокчейну, таких як GEP-2 мережі Gate.
Аналіз стандарту ERC-20
У екосистемі Ethereum ERC означає "Ethereum Request for Comments" ( Ethereum Request for Comments ). Ці технічні документи описують програмні стандарти Ethereum. Варто зауважити, що ERC відрізняється від пропозицій щодо покращення Ethereum ( EIP ), які подібні до BIP для Bitcoin і стосуються в основному покращення самого протоколу. Мета ERC полягає в створенні зручного для взаємодії протоколу між додатками та контрактами.
ERC-20 був спільно розроблений Віталіком Бутеріним та Фабіаном Вогельштеллером у 2015 році, надаючи відносно простий стандартний формат для токенів на основі Ethereum. Дотримуючись цього стандарту, розробники можуть будувати без необхідності повторного дизайну на вже існуючій інфраструктурі.
Як тільки створюються нові токени ERC-20, вони можуть автоматично взаємодіяти з різними сервісами та програмним забезпеченням, що підтримує стандарт ERC-20, такими як програмні гаманці, апаратні гаманці та торгові платформи тощо (.
Варто зазначити, що стандарт ERC-20 тепер еволюціонував у EIP), особливо EIP-20(. Хоча від часу першої широко відомої пропозиції минуло багато років і з тих пір відбулося кілька років розвитку, назва "ERC-20" все ще широко використовується.
Огляд токенів Ethereum
На відміну від рідної криптовалюти Ethereum ), ERC-20 токени не зберігаються безпосередньо на рахунках, а існують лише всередині контракту, як незалежна база даних. Вони визначають правила токена (, такі як назва, символ, здатність до поділу ), і підтримують список Ethereum-адрес, що відображає баланси користувачів.
Щоб перевести токени, користувачеві потрібно надіслати транзакцію до смарт-контракту з вимогою перерозподілити частину залишку. Наприклад, якщо Аліса хоче надіслати Бобу 5,000 токенів Gate Академії (GateAcademyTokens), вона викликає функцію в відповідному смарт-контракті для виконання цієї команди.
Її виклик міститься в на перший погляд звичайній транзакції Ethereum, яка сплатила 0 ETH токен-контракту. Цей виклик міститься в інших полях транзакції, вказуючи на намір Аліси — в цьому випадку вона бажає передати токени Бобу.
Навіть якщо не надсилає ефір, Еліс все ще повинна сплатити певну плату, щоб забезпечити включення транзакції в блок. Якщо у неї немає ETH, вона повинна спочатку поповнити деяку кількість ETH перед передачею токенів.
Ось реальний випадок на Etherscan: один користувач викликав контракт BUSD. Можна побачити, що токен вже був переведений і сплачено комісію, хоча в графі вартості показано, що було відправлено 0 ETH.
Далі ми детально розглянемо структуру типової ERC-20 угоди.
Процес створення токенів ERC-20
Згідно зі стандартом ERC-20, ваш контракт повинен реалізувати шість необхідних функцій: totalSupply, balanceOf, transfer, transferFrom, approve та allowance. Крім того, можна визначити деякі необов'язкові функції, такі як name, symbol та decimal. Назви цих функцій в основному відображають їх функціональність, але навіть якщо ви не зовсім розумієте, не турбуйтеся, ми поетапно пояснимо все в наступному контенті.
Наступні функції представлені за допомогою мови Solidity, призначеної для Ethereum.
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
Глибокий аналіз токенів ERC-20
Вступ
Ethereum як відкритий Платформа для децентралізованих додатків (DApp) була заснована Віталіком Бутеріним у 2014 році. Основною мотивацією Бутеріна для створення цієї нової блокчейн-технології було значною мірою те, що протокол біткоїна не мав достатньої гнучкості.
Від свого виникнення блокчейн Ethereum привабив безліч розробників, підприємств і підприємців, сприяючи виникненню нової індустрії, яка дозволяє користувачам розгортати смарт-контракти та децентралізовані додатки.
Ця стаття глибоко дослідить стандарт ERC-20, який є ключовою основою для створення токенів. Незважаючи на те, що він застосовується лише в мережі Ethereum, він надихнув на появу інших стандартів блокчейну, таких як GEP-2 мережі Gate.
Аналіз стандарту ERC-20
У екосистемі Ethereum ERC означає "Ethereum Request for Comments" ( Ethereum Request for Comments ). Ці технічні документи описують програмні стандарти Ethereum. Варто зауважити, що ERC відрізняється від пропозицій щодо покращення Ethereum ( EIP ), які подібні до BIP для Bitcoin і стосуються в основному покращення самого протоколу. Мета ERC полягає в створенні зручного для взаємодії протоколу між додатками та контрактами.
ERC-20 був спільно розроблений Віталіком Бутеріним та Фабіаном Вогельштеллером у 2015 році, надаючи відносно простий стандартний формат для токенів на основі Ethereum. Дотримуючись цього стандарту, розробники можуть будувати без необхідності повторного дизайну на вже існуючій інфраструктурі.
Як тільки створюються нові токени ERC-20, вони можуть автоматично взаємодіяти з різними сервісами та програмним забезпеченням, що підтримує стандарт ERC-20, такими як програмні гаманці, апаратні гаманці та торгові платформи тощо (.
Варто зазначити, що стандарт ERC-20 тепер еволюціонував у EIP), особливо EIP-20(. Хоча від часу першої широко відомої пропозиції минуло багато років і з тих пір відбулося кілька років розвитку, назва "ERC-20" все ще широко використовується.
Огляд токенів Ethereum
На відміну від рідної криптовалюти Ethereum ), ERC-20 токени не зберігаються безпосередньо на рахунках, а існують лише всередині контракту, як незалежна база даних. Вони визначають правила токена (, такі як назва, символ, здатність до поділу ), і підтримують список Ethereum-адрес, що відображає баланси користувачів.
Щоб перевести токени, користувачеві потрібно надіслати транзакцію до смарт-контракту з вимогою перерозподілити частину залишку. Наприклад, якщо Аліса хоче надіслати Бобу 5,000 токенів Gate Академії (GateAcademyTokens), вона викликає функцію в відповідному смарт-контракті для виконання цієї команди.
Її виклик міститься в на перший погляд звичайній транзакції Ethereum, яка сплатила 0 ETH токен-контракту. Цей виклик міститься в інших полях транзакції, вказуючи на намір Аліси — в цьому випадку вона бажає передати токени Бобу.
Навіть якщо не надсилає ефір, Еліс все ще повинна сплатити певну плату, щоб забезпечити включення транзакції в блок. Якщо у неї немає ETH, вона повинна спочатку поповнити деяку кількість ETH перед передачею токенів.
Ось реальний випадок на Etherscan: один користувач викликав контракт BUSD. Можна побачити, що токен вже був переведений і сплачено комісію, хоча в графі вартості показано, що було відправлено 0 ETH.
Далі ми детально розглянемо структуру типової ERC-20 угоди.
Процес створення токенів ERC-20
Згідно зі стандартом ERC-20, ваш контракт повинен реалізувати шість необхідних функцій: totalSupply, balanceOf, transfer, transferFrom, approve та allowance. Крім того, можна визначити деякі необов'язкові функції, такі як name, symbol та decimal. Назви цих функцій в основному відображають їх функціональність, але навіть якщо ви не зовсім розумієте, не турбуйтеся, ми поетапно пояснимо все в наступному контенті.
Наступні функції представлені за допомогою мови Solidity, призначеної для Ethereum.
( аналіз функції totalSupply