Створення за допомогою Arweave, постійного децентралізованого протоколу даних

ПочатківецьJan 10, 2024
Ця стаття буде зосереджена на зберіганні та пошуку файлів, а не на запуску вашого власного робочого шлюзу Arweave.
Створення за допомогою Arweave, постійного децентралізованого протоколу даних

Представляємо Building on web3 — нову серію блогів Edge & Node з метою ознайомлення розробників із протоколами, інструментами та найкращими практиками для розробки в просторі web3, що зростає. Створення на основі web3 висвітлить нові технології та проекти в екосистемі web3, щоб допомогти створити рецепт успіху для розробників dapp.

У цій публікації ви дізнаєтесь про те, що таке Arweave , чому я вважаю це важливим і як ви можете почати будувати з ним. Ця публікація буде зосереджена на зберіганні та пошуку файлів, а не на запуску власного робочого шлюзу Arweave.

Arweave — це глобальний, постійний і децентралізований рівень зберігання даних і файлів.

Для мене революційним у Arweave є те, що я можу зберегти щось один раз і очікувати, що воно буде доступним назавжди, і мені ніколи не доведеться нічого платити знову або не хвилюватися, що воно зникне.

Порівняйте це з традиційними централізованими рішеннями для зберігання, де, якщо ви забудете оплатити свій рахунок протягом одного місяця, вас знищать, або ще гірше, ви або хтось інший випадково повністю видалить ваші дані.

Ця постійність даних особливо важлива в web3, де ми створюємо незмінну інфраструктуру додатків. Дані блокчейна за своєю природою вже є незмінними, але ви часто бачите, як розробники зберігають дані поза ланцюгом у спосіб, який не дотримується найкращих практик децентралізації чи незмінності.

Наприклад, у незамінному токені або просторі NFT деякі розробники використовують централізовані служби хостингу для зберігання метаданих токенів. Це порушує важливі властивості безпеки, необхідні для незмінності, а також уявлення про те, що собою представляє NFT.

Якщо метадані не є постійними, немає гарантії, що властивість, яку представляє токен, існуватиме в майбутньому. Це означає, що цілісність маркера під загрозою, якщо метадані не зберігаються на постійному протоколі зберігання файлів, як-от Arweave, і чому це так важливо для таких технологій.

В екосистемі The Graph ми також створюємо підтримку та інтеграцію для Arweave, оскільки ми визнаємо цінність протоколу для створення справді децентралізованих програм web3.

Про Arweave

Arweave побудовано на двох технологіях: blockweave, похідній від blockchain, і «Proof of Access».

Blockweave — це технологія, на якій базується Arweave. Подібно до блокчейну, блокове переплетення являє собою пов’язану колекцію блоків даних, які посилаються на попередні блоки, записані в мережу.

Механізм консенсусу, який використовується для забезпечення безпечного децентралізованого зберігання даних в Arweave, називається «Доказом доступу». Цей механізм більш ефективний і екологічно чистий, ніж доказ роботи, оскільки майнерам не потрібно зберігати всі блоки. Завдяки цьому зберігається величезна кількість електроенергії, хоча майнери все ще можуть дійти консенсусу. Також із розширенням мережі споживання електроенергії зменшується.

Початок роботи з Arweave

Є два способи почати використовувати токени Arweave

1. Завантажте гаманець Arweave

Ви можете почати з нового гаманця та отримати частку токенів Arweave за допомогою тестового крана Arweave.

Після підтвердження ви отримаєте 0,1 AR, щоб почати тестувати Arweave у своїй програмі.

2. Браузерний гаманець

Можливо, ви використовували браузерні та мобільні гаманці, такі як Metamask або Phantom, які дозволяють вам взаємодіяти з додатками web3 безпосередньо з додатка. У Arweave є подібний гаманець під назвою Arconnect.

Ви можете встановити це безпосередньо як розширення Chrome і почати взаємодіяти з веб-додатками, які використовують Arweave.

Звідти ви можете поповнювати гаманець токенами з будь-якої підтримуваної біржі або імпортувати свій гаманець, створений на попередньому кроці.

Щоб дотримуватися цього підручника, вам не знадобляться жодні токени, але у вас повинен бути встановлений гаманець браузера Arconnect.

Bundlr

На додаток до техніки, яку ми розглянемо в цьому підручнику, ви можете використовувати Bundlr , який забезпечує вбудовану підтримку сховища Arweave у різних блокчейнах смарт-контрактів, а також SDK на стороні клієнта та на стороні сервера для інтеграції програми.

Це чудовий варіант, оскільки він не вимагає від користувача володіння AR-токенами, натомість він може покладатися на інші мережі та токени, такі як ETH, MATIC, Solana, Arbitrum та багато інших для оплати транзакцій.

Щоб дізнатися більше про Bundlr, перегляньте документацію тут.

Будівництво за допомогою Arweave

Тепер, коли ми маємо огляд Arweave і захистили свої маркери, давайте створимо базову програму.

Програма, яку ми створимо, дозволить нам завантажувати та завантажувати рядок тексту в Arweave.

Це простий приклад, але чудовий «Hello world», тому що він проходить через інструменти та API, які допоможуть вам розпочати створення за короткий проміжок часу.

Перше, що ми зробимо, це створимо нову програму React за допомогою create-react-app:

npx create-react-app

arweave-appcd arweave-додаток

Існує два основних способи виклику мережі Arweave із вашої програми:

  1. HTTP API – протокол Arweave базується на HTTP, тому для взаємодії з мережею можна використовувати будь-які існуючі http-клієнти, наприклад Axios або Fetch
  2. Arweave JS — Arweave JS — це SDK JavaScript/TypeScript для взаємодії з мережею Arweave та завантаження даних у permaweb. Він працює в останніх браузерах і Node JS.

Arweave JS SDK дуже гарний, і саме його ми будемо використовувати для цього підручника.

Давайте тепер встановимо arweave-js за допомогою npm або yarn:

npm встановити arweave

Мережа Arweave

Є кілька способів взаємодії з мережею Arweave:

  1. Devnet - arweave.dev
  2. Основна мережа - https://arweave.net/
  3. Місцеве середовище - Arlocal

У цьому посібнику ми почнемо з Arlocal, який дозволить нам безкоштовно надсилати тестові транзакції. Ми також навчимося використовувати основну мережу для надсилання справжньої транзакції.

Arlocal

Для локального тестування ми можемо використовувати Arlocal, який запустить локальну мережу, з якою ми зможемо взаємодіяти та надсилати тестові транзакції.

Вам навіть не потрібно нічого завантажувати чи встановлювати, щоб використовувати Arlocal, якщо на вашому комп’ютері встановлено Node.js, ви можете просто запустити локальний шлюз, виконавши:

npx arlocal

Це воно! Тепер ви повинні запустити локальний шлюз Arweave на http://localhost:1984

Тепер, коли у вас працює локальний шлюз, давайте напишемо код.

Відкрийте src/App.js і оновіть файл таким кодом:

імпортувати стилі з '../styles/Home.module.css'

імпортувати { useState } з 'react'

імпортувати Arweave з 'arweave'

/ підключитися до вузла Arweave або вказати шлюз /

const arweave = Arweave.init({})

функція App() {

const [стан, setState] = useState('')

const [transactionId, setTransactionId] = useState('')

асинхронна функція createTransaction() {

if (!state) повернення

спробуй {

const formData = стан

setState('')

/ створює та надсилає транзакцію до Arweave /

let transaction = await arweave.createTransaction({ data: formData })

очікувати arweave.transactions.sign(транзакція)

let uploader = await arweave.transactions.getUploader(transaction)

/ індикатор завантаження /

поки (!uploader.isComplete) {

очікувати uploader.uploadChunk()

console.log(${uploader.pctComplete}% complete, ${uploader.uploadedChunks}/${uploader.totalChunks})

}

setTransactionId(transaction.id)

} catch (err) {

console.log('помилка: ', помилка)

}

}

асинхронна функція readFromArweave() {

/ читати дані Arweave, використовуючи будь-який ідентифікатор trsnsaction /

arweave.transactions

.getData(transactionId, {

декодувати: правда,

рядок: true,

})

.then((дані) => {

console.log('дані: ', дані)

})

}

повернення (

<div className={styles.container}>

<button style={button} onClick={createTransaction}>

Створити транзакцію

</button>

<button style={button} onClick={readFromArweave}>

Прочитати транзакцію

</button>

<input style={input} onChange={(e) => setState(e.target.value)} placeholder=”text” value={state} />

</div>

)

}

кнопка const = {

контур: 'немає',

рамка: '1px суцільний чорний',

backgroundColor: 'білий',

padding: '10px',

ширина: '200px',

marginBottom: 10,

cursor: 'покажчик',

}

const input = {

backgroundColor: '#ddd',

контур: 'немає',

межа: 'немає',

ширина: '200px',

розмір шрифту: '16px',

padding: '10px',

}

експорт програми за замовчуванням

Далі запустіть додаток:

початок npm

Коли програма запуститься, ви побачите базову форму введення з двома кнопками.

Ви можете ввести у форму дані, які хочете зберегти, а потім натиснути «Створити транзакцію», щоб зберегти текст в Arweave.

Після завершення транзакції ви повинні побачити індикатор прогресу, який вийшов із консолі, вказуючи на те, що дані збережено.

Після збереження даних натисніть «Прочитати транзакцію», щоб прочитати дані з Arweave.

Виробнича мережа Arweave

Щоб взаємодіяти з робочою мережею, вам потрібно лише оновити конфігурацію мережі Arweave.

const arweave = Arweave.init({

хост: 'arweave.net',

})

Код для цього проекту

Приклад кодової бази для проекту, який ми створили сьогодні, доступний тут.

Наступні кроки

Щоб дізнатися більше про Arweave, перегляньте документи Arweave, Arweave Wiki та підписуйтесь на них у Twitter.

Про Edge & Node

Edge & Node – це творча компанія з розробки програмного забезпечення, яка працює над побудовою яскравого, децентралізованого майбутнього. Компанія Edge & Node, заснована початковою командою The Graph, займається розвитком децентралізованого Інтернету (web3) і розповсюдженням додатків з мінімізованою довірою. Команда має великий досвід у розробці та підтримці програмного забезпечення, інструментів і програм з відкритим кодом. .

Першим продуктом Edge & Node є The Graph, протокол індексування для запитів у таких мережах, як Ethereum та IPFS, який забезпечує постійну доступність відкритих даних і легкий доступ. Graph використовується тисячами протоколів і прикладних програм, зокрема Uniswap, Livepeer, Aave, Decentraland тощо. Edge & Node також запустили Everest, перший децентралізований реєстр даних у ланцюжку, який забезпечує постійну корисність криптоспільноті, каталізуючи перехід до web3.

Відмова від відповідальності:

  1. Цю статтю передруковано з [Edge & Node]. Усі авторські права належать оригінальному автору [Nader Dabit]. Якщо є заперечення щодо цього передруку, будь ласка, зв’яжіться з командою Gate Learn , і вони негайно розглянуть це.
  2. Відмова від відповідальності: погляди та думки, висловлені в цій статті, належать виключно автору та не є жодною інвестиційною порадою.
  3. Переклади статті на інші мови виконує команда Gate Learn. Якщо не зазначено вище, копіювання, розповсюдження або плагіат перекладених статей заборонено.
Jetzt anfangen
Registrieren Sie sich und erhalten Sie einen
100
-Euro-Gutschein!
Benutzerkonto erstellen