Construire avec Arweave, un protocole de données permanent et décentralisé

1/10/2024, 6:28:38 PM
Débutant
Blockchain
Cet article se concentre sur le stockage et la récupération de fichiers, et non sur l'exploitation de votre propre passerelle Arweave.

Voici Building on web3 - une nouvelle série de blogs Edge & Node dont l'objectif est de familiariser les développeurs avec les protocoles, les outils et les meilleures pratiques de développement dans l'espace web3 en pleine croissance. Building on web3 mettra en lumière les technologies et les projets émergents dans l'écosystème web3 pour aider à créer une recette de succès pour les développeurs de dapps.

Dans ce billet, vous découvrirez ce qu'est Arweave, pourquoi je pense qu'il est important, et comment vous pouvez commencer à construire avec lui. Cet article se concentre sur le stockage et la récupération de fichiers, et non sur l'exploitation de votre propre passerelle Arweave.

Arweave est une couche de stockage de données et de fichiers globale, permanente et décentralisée.

Pour moi, l'aspect révolutionnaire d'Arweave est le fait que je peux stocker quelque chose une fois et m'attendre à ce qu'il soit disponible pour toujours sans jamais avoir à payer quoi que ce soit de nouveau ou sans avoir à m'inquiéter qu'il disparaisse.

Comparez cela aux solutions de stockage centralisées traditionnelles, où si vous oubliez de payer votre facture un mois donné, vous êtes mis hors service, ou pire encore, vous ou quelqu'un d'autre supprimez accidentellement toutes vos données.

Cette permanence des données est particulièrement importante dans web3 où nous construisons une infrastructure d'application immuable. Les données de la blockchain sont par nature déjà immuables, mais vous voyez souvent des développeurs stocker des données hors chaîne d'une manière qui n'adhère pas aux meilleures pratiques de décentralisation ou d'immuabilité.

Par exemple, dans le domaine des jetons non fongibles (NFT), certains développeurs utilisent des services d'hébergement centralisés pour stocker les métadonnées des jetons. Cela rompt avec les importantes propriétés de sécurité requises pour l'immutabilité, ainsi qu'avec l'idée de ce qu'un NFT représente en premier lieu.

Si les métadonnées ne sont pas permanentes, rien ne garantit que la propriété représentée par le jeton existera encore à l'avenir. Cela signifie que l'intégrité du jeton est en jeu si les métadonnées ne sont pas stockées sur un protocole de stockage de fichiers permanent comme Arweave, et c'est pourquoi il est si important que des technologies comme celle-ci existent.

Au sein de l'écosystème The Graph, nous développons également un support et des intégrations pour Arweave car nous reconnaissons la valeur du protocole pour la construction d'applications web3 véritablement décentralisées.

À propos d'Arweave

Arweave repose sur deux technologies : la blockchain, un dérivé de la chaîne de blocs, et la "preuve d'accès".

Blockweave est la technologie qui alimente Arweave. À l'instar d'une blockchain, la blockweave est une collection de blocs de données liés entre eux, qui renvoient aux blocs précédents écrits sur le réseau.

Le mécanisme de consensus utilisé pour faciliter le stockage sécurisé et décentralisé des données dans Arweave est appelé "preuve d'accès". Ce mécanisme est plus efficace et plus respectueux de l'environnement que la preuve de travail, car les mineurs n'ont pas besoin de stocker tous les blocs. Cela permet d'économiser une énorme quantité d'électricité tout en permettant aux mineurs de parvenir à un consensus. En outre, la consommation d'électricité diminue au fur et à mesure que le réseau s'étend.

Démarrer avec Arweave

Il y a deux façons de commencer à utiliser les jetons Arweave

1. Téléchargez un portefeuille Arweave

Vous pouvez commencer avec un nouveau portefeuille et obtenir une fraction de jetons Arweave en utilisant le robinet de test Arweave.

Une fois que vous avez vérifié, vous devriez recevoir 0.1 AR à utiliser pour commencer à tester Arweave dans votre application.

2. Un portefeuille de navigateur

Vous avez peut-être utilisé des portefeuilles de navigateur et de mobile comme Metamask ou Phantom qui vous permettent d'interagir avec des applications web3 directement à partir d'une application. Arweave propose un portefeuille similaire, appelé Arconnect.

Vous pouvez l'installer directement comme une extension chrome et commencer à interagir avec les applications web qui utilisent Arweave.

À partir de là, vous pouvez alimenter le portefeuille avec des jetons provenant de l'un des échanges pris en charge ou vous pouvez importer votre portefeuille créé à l'étape précédente.

Pour suivre ce tutoriel, vous n'aurez pas besoin de jetons, mais vous devez avoir installé le portefeuille Arconnect.

Bundlr

En plus de la technique que nous allons couvrir dans ce tutoriel, vous pouvez choisir d'utiliser Bundlr qui permet la prise en charge native du stockage Arweave sur différentes blockchains de contrats intelligents ainsi que des SDK côté client et côté serveur pour l'intégration d'applications.

Il s'agit d'une excellente option car elle n'exige pas que l'utilisateur détienne des jetons AR, mais peut au contraire s'appuyer sur d'autres réseaux et jetons comme ETH, MATIC, Solana, Arbitrum, et bien d'autres pour payer les transactions.

Pour en savoir plus sur Bundlr, consultez la documentation ici.

Construire avec Arweave

Maintenant que nous avons une vue d'ensemble d'Arweave et que nous avons sécurisé nos jetons, construisons une application de base.

L'application que nous allons créer nous permettra de charger et de télécharger une chaîne de texte sur Arweave.

Il s'agit d'un exemple basique, mais d'un excellent "Hello world" car il passe en revue les outils et les API pour vous permettre de commencer à construire en peu de temps.

La première chose à faire est de créer une nouvelle application React à l'aide de create-react-app :

npx create-react-app

arweave-appcd arweave-app

Il y a deux façons principales d'appeler le réseau Arweave à partir de votre application :

  1. API HTTP - Le protocole Arweave est basé sur HTTP, donc tous les clients http existants peuvent être utilisés pour interagir avec le réseau, comme Axios ou Fetch.
  2. Arweave JS - Arweave JS est le SDK JavaScript/TypeScript permettant d'interagir avec le réseau Arweave et de télécharger des données sur le permaweb. Il fonctionne avec les derniers navigateurs et Node JS.

Le SDK JS d'Arweave est très intéressant et c'est ce que nous allons utiliser pour ce tutoriel.

Installons maintenant arweave-js en utilisant npm ou yarn :

npm install arweave

Réseau Arweave

Vous pouvez interagir avec le réseau Arweave de plusieurs manières :

  1. Devnet - arweave.dev
  2. Mainnet - https://arweave.net/
  3. Environnement local - Arlocal

Dans ce guide, nous commencerons par Arlocal, qui nous permettra d'envoyer des transactions de test gratuitement. Nous apprendrons également à utiliser le réseau principal pour effectuer une transaction réelle.

Arlocal

Pour tester localement, nous pouvons utiliser Arlocal, qui lancera un réseau local avec lequel nous pourrons interagir et auquel nous pourrons envoyer des transactions de test.

Vous n'avez même pas besoin de télécharger ou d'installer quoi que ce soit pour utiliser Arlocal, tant que vous avez Node.js installé sur votre machine, vous pouvez simplement démarrer une passerelle locale en exécutant :

npx arlocal

C'est tout ! Vous devriez maintenant avoir une passerelle Arweave locale sur http://localhost:1984.

Maintenant que vous avez une passerelle locale qui fonctionne, écrivons le code.

Ouvrez src/App.js et mettez à jour le fichier avec le code suivant :

import styles from '../styles/Home.module.css'

import { useState } from 'react'

import Arweave de 'arweave'

/ se connecter à un nœud Arweave ou spécifier une passerelle /

const arweave = Arweave.init({})

function App() {

const [state, setState] = useState('')

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

async function createTransaction() {

if (!state) return

essayer {

const formData = state

setState('')

/ crée et envoie la transaction à Arweave /

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

await arweave.transactions.sign(transaction)

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

/ Indicateur de téléchargement /

while (!uploader.isComplete) {

await uploader.uploadChunk()

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

}

setTransactionId(transaction.id)

} catch (err) {

console.log('error : ', err)

}

}

async function readFromArweave() {

/ lire les données Arweave en utilisant n'importe quel ID de transaction /

arweave.transactions

.getData(transactionId, {

decode : true,

string : true,

})

.then((data) => {

console.log('data : ', data)

})

}

retourner (

<div className={styles.container}>

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

Créer une transaction

</button>

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

Transaction de lecture

</button>

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

</div>

)

}

const button = {

contour : "aucun",

bordure : '1px solid black',

couleur de fond : "blanc",

padding : '10px',

largeur : "200px",

marginBottom : 10,

curseur : 'pointeur',

}

const input = {

couleur de fond : "#ddd",

contour : "aucun",

bordure : "aucun",

largeur : "200px",

fontSize : '16px',

padding : '10px',

}

exporter l'application par défaut

Ensuite, démarrez l'application :

npm start

Lorsque l'application démarre, vous devriez voir un formulaire de base avec deux boutons.

Vous pouvez taper dans le formulaire les données que vous souhaitez sauvegarder, puis appuyer sur Créer une transaction pour sauvegarder le texte dans Arweave.

Une fois la transaction terminée, vous devriez voir un indicateur de progression connecté à la console indiquant que les données ont été sauvegardées.

Une fois les données sauvegardées, cliquez sur Lire la transaction pour lire les données d'Arweave.

Réseau de production Arweave

Pour interagir avec le réseau de production, il suffit de mettre à jour la configuration du réseau Arweave.

const arweave = Arweave.init({

hôte : 'arweave.net',

})

Code pour ce projet

Un exemple de base de code pour le projet que nous avons construit aujourd'hui est disponible ici.

Prochaines étapes

Pour en savoir plus sur Arweave, consultez la documentation d'Arweave, le Wiki d'Arweave et suivez-les sur Twitter.

À propos du nœud Edge &

Edge & Node est une société de développement de logiciels créatifs qui œuvre à la construction d'un avenir dynamique et décentralisé. Fondé par l'équipe à l'origine de The Graph, Edge & Node se consacre à l'avancement de l'internet décentralisé (web3) et à la prolifération d'applications minimisant la confiance. L'équipe possède une vaste expérience dans le développement et la maintenance de logiciels, d'outils et d'applications open source.

Le premier produit de Edge & Node est The Graph, un protocole d'indexation pour l'interrogation de réseaux tels qu'Ethereum et IPFS, qui garantit que les données ouvertes sont toujours disponibles et faciles d'accès. Le Graph est utilisé par des milliers de protocoles et d'applications, dont Uniswap, Livepeer, Aave, Decentraland, et bien d'autres. Edge & Node a également lancé Everest, le premier registre décentralisé de données sur la chaîne afin de fournir une utilité continue à la communauté cryptographique, catalysant le passage au web3.

Clause de non-responsabilité:

  1. Cet article est repris de[Edge & Node]. Tous les droits d'auteur appartiennent à l'auteur original[Nader Dabit]. Si vous avez des objections à cette réimpression, veuillez contacter l'équipe de Gate Learn, qui s'en chargera rapidement.
  2. Clause de non-responsabilité : Les points de vue et les opinions exprimés dans cet article sont uniquement ceux de l'auteur et ne constituent pas un conseil en investissement.
  3. Les traductions de l'article dans d'autres langues sont effectuées par l'équipe de Gate Learn. Sauf mention contraire, il est interdit de copier, distribuer ou plagier les articles traduits.

Partager

Calendrier Crypto

Mises à Jour du Projet
Etherex lancera le jeton REX le 6 août.
REX
22.27%
2025-08-06
Rare Dev & Governance Day à Las Vegas
Cardano organisera la Rare Dev & Governance Day à Las Vegas, du 6 au 7 août, avec des ateliers, des hackathons et des discussions en panel axés sur le développement technique et les sujets de gouvernance.
ADA
-3.44%
2025-08-06
Blockchain.Rio à Rio de Janeiro
Stellar participera à la conférence Blockchain.Rio, qui se tiendra à Rio de Janeiro, du 5 au 7 août. Le programme comprendra des discours d'ouverture et des tables rondes avec des représentants de l'écosystème Stellar en collaboration avec les partenaires Cheesecake Labs et NearX.
XLM
-3.18%
2025-08-06
Webinaire
Circle a annoncé un webinaire en direct intitulé « L'ère de la loi GENIUS commence », prévu pour le 7 août 2025, à 14h00 UTC. La session explorera les implications de la nouvelle loi GENIUS adoptée—le premier cadre réglementaire fédéral pour les stablecoins de paiement aux États-Unis. Dante Disparte et Corey Then de Circle dirigeront la discussion sur la manière dont la législation impacte l'innovation des actifs numériques, la clarté réglementaire et le leadership des États-Unis dans l'infrastructure financière mondiale.
USDC
-0.03%
2025-08-06
AMA sur X
Ankr organisera un AMA sur X le 7 août à 16h00 UTC, axé sur le travail de DogeOS dans la construction de la couche d'application pour DOGE.
ANKR
-3.23%
2025-08-06

Articles connexes

Qu'est-ce que Solscan et comment l'utiliser ? (Mise à jour 2025)
Intermédiaire

Qu'est-ce que Solscan et comment l'utiliser ? (Mise à jour 2025)

Solscan est un explorateur de blockchain Solana amélioré qui offre aux utilisateurs une plateforme web pour explorer et analyser les transactions, les adresses de portefeuille, les contrats, les NFT et les projets DeFi sur la blockchain Solana. Suite à son acquisition par Etherscan en 2025, la plateforme propose désormais un tableau de bord analytique repensé, des outils pour les développeurs élargis, des fonctionnalités de sécurité avancées, un suivi complet des protocoles DeFi sur 78 protocoles, et des intégrations sophistiquées de marché NFT avec des outils d'analyse de rareté.
3/8/2024, 2:36:44 PM
Qu'est-ce que Tronscan et comment pouvez-vous l'utiliser en 2025?
Débutant

Qu'est-ce que Tronscan et comment pouvez-vous l'utiliser en 2025?

Tronscan est un explorateur de blockchain qui va au-delà des bases, offrant une gestion de portefeuille, un suivi des jetons, des insights sur les contrats intelligents et une participation à la gouvernance. D'ici 2025, il a évolué avec des fonctionnalités de sécurité renforcées, des analyses étendues, une intégration inter-chaînes et une expérience mobile améliorée. La plateforme inclut désormais une authentification biométrique avancée, une surveillance des transactions en temps réel et un tableau de bord DeFi complet. Les développeurs bénéficient de l'analyse de contrats intelligents alimentée par l'IA et d'environnements de test améliorés, tandis que les utilisateurs apprécient une vue unifiée de portefeuille multi-chaînes et une navigation basée sur des gestes sur les appareils mobiles.
11/22/2023, 6:27:42 PM
Qu'est-ce que Coti ? Tout ce qu'il faut savoir sur l'ICOT
Débutant

Qu'est-ce que Coti ? Tout ce qu'il faut savoir sur l'ICOT

Coti (COTI) est une plateforme décentralisée et évolutive qui permet d'effectuer des paiements sans friction, tant pour la finance traditionnelle que pour les monnaies numériques.
11/2/2023, 9:09:18 AM
Qu'est-ce que l'USDC ?
Débutant

Qu'est-ce que l'USDC ?

En tant que pont reliant la monnaie fiduciaire et la crypto-monnaie, un nombre croissant de stablecoins ont été créés, et beaucoup d'entre eux se sont effondrés peu après. Qu'en est-il de l'USDC, le principal stablecoin actuel ? Comment évoluera-t-elle à l'avenir ?
11/21/2022, 9:30:33 AM
Explication détaillée des preuves à zéro connaissance (ZKP)
Intermédiaire

Explication détaillée des preuves à zéro connaissance (ZKP)

La preuve à connaissance nulle (ZKP) est une méthode de cryptage qui permet à une partie (appelée le prouveur) de prouver à une autre partie (appelée le vérificateur) qu'une déclaration est vraie, sans révéler d'autres informations. Les solutions ZKP les plus répandues sont zk-SNARKS, zk-STARKS, PLONK et Bulletproofs. Cet article présente ces quatre types de solutions ZKP et analyse leurs avantages et inconvénients.
11/28/2023, 11:05:05 AM
Qu'est-ce que BNB ?
Intermédiaire

Qu'est-ce que BNB ?

Binance Coin (BNB) est un jeton d'échange émis par Binance, et est également le jeton utilitaire de la Smart Chain de Binance. Alors que Binance se développe pour devenir l'une des trois premières bourses de crypto-monnaies au monde en termes de volume d'échange, ainsi que les applications écologiques sans fin sur sa chaîne intelligente, BNB est devenu la troisième plus grande crypto-monnaie après Bitcoin et Ethereum. Cet article présentera en détail l'histoire de BNB et l'énorme écosystème Binance qui se cache derrière.
11/21/2022, 7:54:38 AM
Lancez-vous
Inscrivez-vous et obtenez un bon de
100$
!