Memperkenalkan Membangun di web3 — seri baru blog Edge & Node dengan tujuan untuk membiasakan pengembang dengan protokol, peralatan, dan praktik terbaik untuk mengembangkan di ruang web3 yang sedang berkembang. Membangun web3 akan menyoroti teknologi dan proyek baru di ekosistem web3 untuk membantu menciptakan resep kesuksesan bagi pengembang dapp.
Dalam postingan ini Anda akan belajar tentang apa itu Arweave , mengapa menurut saya ini penting, dan bagaimana Anda dapat mulai membangunnya. Posting ini akan fokus pada penyimpanan dan pengambilan file, dan bukan menjalankan gateway Arweave produksi Anda sendiri.
Bagi saya, hal revolusioner tentang Arweave adalah kenyataan bahwa saya dapat menyimpan sesuatu sekali dan berharap bahwa itu akan tersedia selamanya tanpa harus membayar apa pun lagi atau tanpa harus khawatir barang itu akan hilang.
Bandingkan dengan solusi penyimpanan tradisional dan terpusat di mana jika Anda lupa membayar tagihan suatu bulan, Anda akan dihapus, atau lebih buruk lagi, Anda atau orang lain secara tidak sengaja menghapus data Anda sepenuhnya.
Kepermanenan data ini sangat penting di web3 tempat kami membangun infrastruktur aplikasi yang tidak dapat diubah. Data Blockchain pada dasarnya tidak dapat diubah, namun Anda sering melihat pengembang menyimpan data off-chain dengan cara yang tidak mematuhi praktik terbaik desentralisasi atau kekekalan.
Misalnya dalam token non-fungible, atau ruang NFT, beberapa pengembang menggunakan layanan hosting terpusat untuk menyimpan metadata token. Hal ini mematahkan properti keamanan penting yang diperlukan untuk kekekalan serta gagasan tentang apa yang diwakili oleh NFT.
Jika metadatanya tidak permanen, tidak ada jaminan bahwa properti yang diwakili oleh token tersebut akan tetap ada di masa mendatang. Ini berarti integritas token dipertaruhkan jika metadata tidak disimpan pada protokol penyimpanan file permanen seperti Arweave, dan mengapa teknologi seperti ini sangat penting untuk ada.
Dalam ekosistem The Graph, kami juga membangun dukungan dan integrasi untuk Arweave karena kami menyadari nilai protokol untuk membangun aplikasi web3 yang benar-benar terdesentralisasi.
Arweave dibangun berdasarkan dua teknologi: blockweave, turunan dari blockchain, dan 'Proof of Access'.
Blockweave adalah teknologi yang mendukung Arweave. Seperti blockchain, blockweave adalah kumpulan blok data yang terhubung, terhubung ke blok sebelumnya yang ditulis ke jaringan.
Mekanisme konsensus yang digunakan untuk memfasilitasi penyimpanan data yang aman dan terdesentralisasi di Arweave disebut 'Bukti Akses'. Mekanisme ini lebih efisien dan ramah lingkungan dibandingkan proof of work, karena penambang tidak perlu menyimpan seluruh blok. Oleh karena itu, sejumlah besar listrik dapat dihemat sementara para penambang masih dapat mencapai konsensus. Selain itu, seiring dengan perluasan jaringan, konsumsi listrik pun menurun.
Ada dua cara untuk mulai menggunakan token Arweave
Anda dapat memulai dengan dompet baru dan mendapatkan sebagian kecil token Arweave dengan menggunakan faucet uji Arweave.
Setelah Anda memverifikasi, Anda akan diberikan 0,1 AR untuk digunakan agar Anda mulai menguji Arweave di aplikasi Anda.
Anda mungkin pernah menggunakan browser dan dompet seluler seperti Metamask atau Phantom yang memungkinkan Anda berinteraksi dengan aplikasi web3 langsung dari suatu aplikasi. Arweave memiliki dompet serupa, yang disebut Arconnect.
Anda dapat menginstal ini secara langsung sebagai ekstensi chrome dan mulai berinteraksi dengan aplikasi web yang menggunakan Arweave.
Dari sana, Anda dapat mendanai dompet dengan token dari salah satu bursa yang didukungnya atau Anda dapat mengimpor dompet Anda yang dibuat pada langkah sebelumnya.
Untuk mengikuti tutorial ini, Anda tidak memerlukan token apa pun, tetapi Anda harus sudah menginstal dompet browser Arconnect.
Selain teknik yang akan kami bahas dalam tutorial ini, Anda dapat memilih untuk menggunakan Bundlr yang memungkinkan dukungan asli untuk penyimpanan Arweave pada berbagai blockchain kontrak pintar serta SDK sisi klien dan sisi server untuk integrasi aplikasi.
Ini adalah opsi yang bagus karena tidak mengharuskan pengguna untuk memegang token AR, namun dapat mengandalkan jaringan dan token lain seperti ETH, MATIC, Solana, Arbitrum, dan banyak lainnya untuk membayar transaksi.
Untuk mempelajari lebih lanjut tentang Bundlr, lihat dokumentasinya di sini.
Sekarang kita memiliki gambaran umum tentang Arweave dan mengamankan token kita, mari kita membangun aplikasi dasar.
Aplikasi yang akan kita buat akan memungkinkan kita mengunggah dan mengunduh serangkaian teks ke Arweave.
Ini adalah contoh dasar, namun merupakan “Halo Dunia” yang hebat karena contoh ini menjelaskan alat dan API untuk membantu Anda mulai membangun dalam waktu singkat.
Hal pertama yang akan kita lakukan adalah membuat aplikasi React baru menggunakan create-react-app:
npx buat-reaksi-aplikasi
arweave-appcd arweave-app
Ada dua cara utama untuk memanggil jaringan Arweave dari aplikasi Anda:
Arweave JS SDK sangat bagus dan itulah yang akan kita gunakan untuk tutorial ini.
Sekarang mari kita instal arweave-js menggunakan npm atau benang:
npm instal arweave
Ada beberapa cara Anda dapat berinteraksi dengan jaringan Arweave:
Dalam panduan ini, kita akan memulai dengan Arlocal, yang memungkinkan kita mengirim transaksi percobaan secara gratis. Kita juga akan mempelajari cara menggunakan mainnet untuk mengirim transaksi nyata.
Untuk menguji secara lokal, kita dapat menggunakan Arlocal, yang akan menjalankan jaringan lokal tempat kita dapat berinteraksi dan mengirim transaksi pengujian.
Anda bahkan tidak perlu mengunduh atau menginstal apa pun untuk menggunakan Arlocal, selama Anda sudah menginstal Node.js di mesin Anda, Anda cukup memulai gateway lokal dengan menjalankan:
npx arlokal
Itu dia! Anda sekarang harus menjalankan gateway Arweave lokal di http://localhost:1984
Sekarang Anda sudah menjalankan gateway lokal, mari tulis kodenya.
Buka src/App.js dan perbarui file dengan kode berikut:
impor gaya dari '../styles/Home.module.css'
impor { useState } dari 'reaksi'
impor Arweave dari 'arweave'
/ sambungkan ke node Arweave atau tentukan gateway /
const arweave = Arweave.init({})
fungsi Aplikasi() {
const [negara bagian, setState] = useState('')
const [transactionId, setTransactionId] = useState('')
fungsi async buatTransaksi() {
jika (!status) kembali
mencoba {
const formData = status
setStatus('')
/ membuat dan mengirim transaksi ke Arweave /
biarkan transaksi = menunggu arweave.createTransaction({ data: formData })
menunggu arweave.transactions.sign(transaksi)
biarkan pengunggah = menunggu arweave.transactions.getUploader(transaksi)
/ unggah indikator /
while (!uploader.isComplete) {
menunggu pengunggah.uploadChunk()
console.log(${uploader.pctComplete}% complete,
${uploader.uploadedChunks}/${uploader.totalChunks}
)
}
setTransactionId(transaksi.id)
} tangkap (salah) {
konsol.log('kesalahan: ', salah)
}
}
fungsi async readFromArweave() {
/ baca data Arweave menggunakan ID trsnsaction apa pun /
arweave.transaksi
.getData(transaksiId, {
memecahkan kode: benar,
tali: benar,
})
.lalu((data) => {
konsol.log('data: ',data)
})
}
kembali (
<div namakelas={styles.container}>
<gaya tombol={button} onClick={createTransaction}>
Buat Transaksi
</button>
<gaya tombol={button} onClick={readFromArweave}>
Baca Transaksi
</button>
<gaya masukan={input} onChange={(e) => setState(e.target.value)} placeholder=”teks” nilai={state} />
</div>
)
}
tombol konstan = {
garis besar: 'tidak ada',
batas: '1px hitam pekat',
latar belakangWarna: 'putih',
bantalan: '10 piksel',
lebar: '200 piksel',
marginBawah: 10,
kursor: 'penunjuk',
}
masukan konstan = {
warna latar belakang: '#ddd',
garis besar: 'tidak ada',
perbatasan: 'tidak ada',
lebar: '200 piksel',
Ukuran font: '16px',
bantalan: '10 piksel',
}
ekspor Aplikasi default
Selanjutnya, mulai aplikasi:
npm mulai
Saat aplikasi dimulai, Anda akan melihat input formulir dasar dengan dua tombol.
Anda dapat mengetikkan data yang ingin Anda simpan ke dalam formulir, lalu tekan Buat Transaksi untuk menyimpan teks di Arweave.
Setelah transaksi selesai, Anda akan melihat indikator kemajuan keluar ke konsol yang menunjukkan data telah disimpan.
Setelah data disimpan, klik Baca Transaksi untuk membaca data dari Arweave.
Untuk berinteraksi dengan jaringan produksi, Anda hanya perlu memperbarui konfigurasi jaringan Arweave.
const arweave = Arweave.init({
tuan rumah: 'arweave.net',
})
Contoh basis kode untuk proyek yang kami bangun hari ini tersedia di sini.
Untuk mempelajari lebih lanjut tentang Arweave, lihat dokumen Arweave, Arweave Wiki, dan ikuti mereka di Twitter.
Edge & Node adalah perusahaan pengembangan perangkat lunak kreatif yang berupaya membangun masa depan yang dinamis dan terdesentralisasi. Didirikan oleh tim awal di balik The Graph, Edge & Node didedikasikan untuk kemajuan internet terdesentralisasi (web3) dan perkembangan aplikasi yang diminimalkan kepercayaan. Tim ini memiliki pengalaman luas dalam mengembangkan dan memelihara perangkat lunak, alat, dan aplikasi sumber terbuka .
Produk awal Edge & Node adalah The Graph, sebuah protokol pengindeksan untuk menanyakan jaringan seperti Ethereum dan IPFS, yang memastikan data terbuka selalu tersedia dan mudah diakses. Grafik digunakan oleh ribuan protokol dan dapps termasuk Uniswap, Livepeer, Aave, Decentraland, dan banyak lagi. Edge & Node juga meluncurkan Everest, registri data on-chain terdesentralisasi pertama yang menyediakan utilitas berkelanjutan bagi komunitas kripto, yang mengkatalisasi peralihan ke web3.
Memperkenalkan Membangun di web3 — seri baru blog Edge & Node dengan tujuan untuk membiasakan pengembang dengan protokol, peralatan, dan praktik terbaik untuk mengembangkan di ruang web3 yang sedang berkembang. Membangun web3 akan menyoroti teknologi dan proyek baru di ekosistem web3 untuk membantu menciptakan resep kesuksesan bagi pengembang dapp.
Dalam postingan ini Anda akan belajar tentang apa itu Arweave , mengapa menurut saya ini penting, dan bagaimana Anda dapat mulai membangunnya. Posting ini akan fokus pada penyimpanan dan pengambilan file, dan bukan menjalankan gateway Arweave produksi Anda sendiri.
Bagi saya, hal revolusioner tentang Arweave adalah kenyataan bahwa saya dapat menyimpan sesuatu sekali dan berharap bahwa itu akan tersedia selamanya tanpa harus membayar apa pun lagi atau tanpa harus khawatir barang itu akan hilang.
Bandingkan dengan solusi penyimpanan tradisional dan terpusat di mana jika Anda lupa membayar tagihan suatu bulan, Anda akan dihapus, atau lebih buruk lagi, Anda atau orang lain secara tidak sengaja menghapus data Anda sepenuhnya.
Kepermanenan data ini sangat penting di web3 tempat kami membangun infrastruktur aplikasi yang tidak dapat diubah. Data Blockchain pada dasarnya tidak dapat diubah, namun Anda sering melihat pengembang menyimpan data off-chain dengan cara yang tidak mematuhi praktik terbaik desentralisasi atau kekekalan.
Misalnya dalam token non-fungible, atau ruang NFT, beberapa pengembang menggunakan layanan hosting terpusat untuk menyimpan metadata token. Hal ini mematahkan properti keamanan penting yang diperlukan untuk kekekalan serta gagasan tentang apa yang diwakili oleh NFT.
Jika metadatanya tidak permanen, tidak ada jaminan bahwa properti yang diwakili oleh token tersebut akan tetap ada di masa mendatang. Ini berarti integritas token dipertaruhkan jika metadata tidak disimpan pada protokol penyimpanan file permanen seperti Arweave, dan mengapa teknologi seperti ini sangat penting untuk ada.
Dalam ekosistem The Graph, kami juga membangun dukungan dan integrasi untuk Arweave karena kami menyadari nilai protokol untuk membangun aplikasi web3 yang benar-benar terdesentralisasi.
Arweave dibangun berdasarkan dua teknologi: blockweave, turunan dari blockchain, dan 'Proof of Access'.
Blockweave adalah teknologi yang mendukung Arweave. Seperti blockchain, blockweave adalah kumpulan blok data yang terhubung, terhubung ke blok sebelumnya yang ditulis ke jaringan.
Mekanisme konsensus yang digunakan untuk memfasilitasi penyimpanan data yang aman dan terdesentralisasi di Arweave disebut 'Bukti Akses'. Mekanisme ini lebih efisien dan ramah lingkungan dibandingkan proof of work, karena penambang tidak perlu menyimpan seluruh blok. Oleh karena itu, sejumlah besar listrik dapat dihemat sementara para penambang masih dapat mencapai konsensus. Selain itu, seiring dengan perluasan jaringan, konsumsi listrik pun menurun.
Ada dua cara untuk mulai menggunakan token Arweave
Anda dapat memulai dengan dompet baru dan mendapatkan sebagian kecil token Arweave dengan menggunakan faucet uji Arweave.
Setelah Anda memverifikasi, Anda akan diberikan 0,1 AR untuk digunakan agar Anda mulai menguji Arweave di aplikasi Anda.
Anda mungkin pernah menggunakan browser dan dompet seluler seperti Metamask atau Phantom yang memungkinkan Anda berinteraksi dengan aplikasi web3 langsung dari suatu aplikasi. Arweave memiliki dompet serupa, yang disebut Arconnect.
Anda dapat menginstal ini secara langsung sebagai ekstensi chrome dan mulai berinteraksi dengan aplikasi web yang menggunakan Arweave.
Dari sana, Anda dapat mendanai dompet dengan token dari salah satu bursa yang didukungnya atau Anda dapat mengimpor dompet Anda yang dibuat pada langkah sebelumnya.
Untuk mengikuti tutorial ini, Anda tidak memerlukan token apa pun, tetapi Anda harus sudah menginstal dompet browser Arconnect.
Selain teknik yang akan kami bahas dalam tutorial ini, Anda dapat memilih untuk menggunakan Bundlr yang memungkinkan dukungan asli untuk penyimpanan Arweave pada berbagai blockchain kontrak pintar serta SDK sisi klien dan sisi server untuk integrasi aplikasi.
Ini adalah opsi yang bagus karena tidak mengharuskan pengguna untuk memegang token AR, namun dapat mengandalkan jaringan dan token lain seperti ETH, MATIC, Solana, Arbitrum, dan banyak lainnya untuk membayar transaksi.
Untuk mempelajari lebih lanjut tentang Bundlr, lihat dokumentasinya di sini.
Sekarang kita memiliki gambaran umum tentang Arweave dan mengamankan token kita, mari kita membangun aplikasi dasar.
Aplikasi yang akan kita buat akan memungkinkan kita mengunggah dan mengunduh serangkaian teks ke Arweave.
Ini adalah contoh dasar, namun merupakan “Halo Dunia” yang hebat karena contoh ini menjelaskan alat dan API untuk membantu Anda mulai membangun dalam waktu singkat.
Hal pertama yang akan kita lakukan adalah membuat aplikasi React baru menggunakan create-react-app:
npx buat-reaksi-aplikasi
arweave-appcd arweave-app
Ada dua cara utama untuk memanggil jaringan Arweave dari aplikasi Anda:
Arweave JS SDK sangat bagus dan itulah yang akan kita gunakan untuk tutorial ini.
Sekarang mari kita instal arweave-js menggunakan npm atau benang:
npm instal arweave
Ada beberapa cara Anda dapat berinteraksi dengan jaringan Arweave:
Dalam panduan ini, kita akan memulai dengan Arlocal, yang memungkinkan kita mengirim transaksi percobaan secara gratis. Kita juga akan mempelajari cara menggunakan mainnet untuk mengirim transaksi nyata.
Untuk menguji secara lokal, kita dapat menggunakan Arlocal, yang akan menjalankan jaringan lokal tempat kita dapat berinteraksi dan mengirim transaksi pengujian.
Anda bahkan tidak perlu mengunduh atau menginstal apa pun untuk menggunakan Arlocal, selama Anda sudah menginstal Node.js di mesin Anda, Anda cukup memulai gateway lokal dengan menjalankan:
npx arlokal
Itu dia! Anda sekarang harus menjalankan gateway Arweave lokal di http://localhost:1984
Sekarang Anda sudah menjalankan gateway lokal, mari tulis kodenya.
Buka src/App.js dan perbarui file dengan kode berikut:
impor gaya dari '../styles/Home.module.css'
impor { useState } dari 'reaksi'
impor Arweave dari 'arweave'
/ sambungkan ke node Arweave atau tentukan gateway /
const arweave = Arweave.init({})
fungsi Aplikasi() {
const [negara bagian, setState] = useState('')
const [transactionId, setTransactionId] = useState('')
fungsi async buatTransaksi() {
jika (!status) kembali
mencoba {
const formData = status
setStatus('')
/ membuat dan mengirim transaksi ke Arweave /
biarkan transaksi = menunggu arweave.createTransaction({ data: formData })
menunggu arweave.transactions.sign(transaksi)
biarkan pengunggah = menunggu arweave.transactions.getUploader(transaksi)
/ unggah indikator /
while (!uploader.isComplete) {
menunggu pengunggah.uploadChunk()
console.log(${uploader.pctComplete}% complete,
${uploader.uploadedChunks}/${uploader.totalChunks}
)
}
setTransactionId(transaksi.id)
} tangkap (salah) {
konsol.log('kesalahan: ', salah)
}
}
fungsi async readFromArweave() {
/ baca data Arweave menggunakan ID trsnsaction apa pun /
arweave.transaksi
.getData(transaksiId, {
memecahkan kode: benar,
tali: benar,
})
.lalu((data) => {
konsol.log('data: ',data)
})
}
kembali (
<div namakelas={styles.container}>
<gaya tombol={button} onClick={createTransaction}>
Buat Transaksi
</button>
<gaya tombol={button} onClick={readFromArweave}>
Baca Transaksi
</button>
<gaya masukan={input} onChange={(e) => setState(e.target.value)} placeholder=”teks” nilai={state} />
</div>
)
}
tombol konstan = {
garis besar: 'tidak ada',
batas: '1px hitam pekat',
latar belakangWarna: 'putih',
bantalan: '10 piksel',
lebar: '200 piksel',
marginBawah: 10,
kursor: 'penunjuk',
}
masukan konstan = {
warna latar belakang: '#ddd',
garis besar: 'tidak ada',
perbatasan: 'tidak ada',
lebar: '200 piksel',
Ukuran font: '16px',
bantalan: '10 piksel',
}
ekspor Aplikasi default
Selanjutnya, mulai aplikasi:
npm mulai
Saat aplikasi dimulai, Anda akan melihat input formulir dasar dengan dua tombol.
Anda dapat mengetikkan data yang ingin Anda simpan ke dalam formulir, lalu tekan Buat Transaksi untuk menyimpan teks di Arweave.
Setelah transaksi selesai, Anda akan melihat indikator kemajuan keluar ke konsol yang menunjukkan data telah disimpan.
Setelah data disimpan, klik Baca Transaksi untuk membaca data dari Arweave.
Untuk berinteraksi dengan jaringan produksi, Anda hanya perlu memperbarui konfigurasi jaringan Arweave.
const arweave = Arweave.init({
tuan rumah: 'arweave.net',
})
Contoh basis kode untuk proyek yang kami bangun hari ini tersedia di sini.
Untuk mempelajari lebih lanjut tentang Arweave, lihat dokumen Arweave, Arweave Wiki, dan ikuti mereka di Twitter.
Edge & Node adalah perusahaan pengembangan perangkat lunak kreatif yang berupaya membangun masa depan yang dinamis dan terdesentralisasi. Didirikan oleh tim awal di balik The Graph, Edge & Node didedikasikan untuk kemajuan internet terdesentralisasi (web3) dan perkembangan aplikasi yang diminimalkan kepercayaan. Tim ini memiliki pengalaman luas dalam mengembangkan dan memelihara perangkat lunak, alat, dan aplikasi sumber terbuka .
Produk awal Edge & Node adalah The Graph, sebuah protokol pengindeksan untuk menanyakan jaringan seperti Ethereum dan IPFS, yang memastikan data terbuka selalu tersedia dan mudah diakses. Grafik digunakan oleh ribuan protokol dan dapps termasuk Uniswap, Livepeer, Aave, Decentraland, dan banyak lagi. Edge & Node juga meluncurkan Everest, registri data on-chain terdesentralisasi pertama yang menyediakan utilitas berkelanjutan bagi komunitas kripto, yang mengkatalisasi peralihan ke web3.