Cara modern untuk meng-host situs di IPFS | Oleh Luke Gloege, Ph.D. | Juni 2022

Programming

[ad_1]
Selamat datang Sob di suratpembaca.web.id. Malam ini kita akan membahas tentang Linux yaitu Cara modern untuk meng-host situs di IPFS | Oleh Luke Gloege, Ph.D. | Juni 2022

.

Semoga artikel mengenai Cara modern untuk meng-host situs di IPFS | Oleh Luke Gloege, Ph.D. | Juni 2022

bisa memberikan faedah untuk Teman-teman semua. Mari baca artikel ini
hingga tuntas.

Menggunakan web3.storage, GitHub Actions, dan IPNS

“Profil” oleh Katrina Limpsoni (sumber https://undraw.co/illustrations)

Artikel ini adalah versi terbaru dari “Panduan Hosting Web IPFS” saya.

Pada saat artikel itu diterbitkan, saya telah menyederhanakan pendekatan saya dan membagi proses memperbarui situs web saya menjadi tiga perintah:

  1. git push
  2. gh run view -v
  3. w3 name publish <KEY_ID> <CID>

Keajaiban pengaturan ini berasal dari:

  1. Gunakan tindakan GitHub untuk mengarahkan ulang situs ke IPFS melalui web3.storage
  2. Gunakan IPNS untuk mencegah koneksi DNS berubah secara manual.

Ada banyak langkah untuk menyiapkan alur kerja ini, tetapi perlu upaya untuk memperbarui situs Anda yang terdesentralisasi hanya dengan beberapa perintah terminal.

Untuk mempermudah transfer konten ke IPFS, kami ingin menggunakan web3.storage, yang dibuat oleh tim dukungan IPFS dan Filecoin yang sama.

Web3.storage memungkinkan Anda mengunggah data dalam jumlah tak terbatas ke IPFS dan menangani penyematan data ke beberapa server, yang luar biasa!

Untuk membuat akun, buka https://web3.storage:

Tangkapan layar oleh penulis (Sumber: https://web3.storage/pricing/)

Kami membutuhkan token API untuk mengarahkan konten ke web3.storage dari baris perintah dan dari GitHub Actions.

  1. Masuk ke akun web3.storage Anda
  2. Klik Akun di atas lalu Buat Token API
  3. Masukkan nama deskriptif untuk token Anda dan klik Buat
  4. Untuk menyalin kode API baru Anda ke clipboard, Anda dapat mengklik Salin.

Jangan bagikan kunci API Anda dengan siapa pun, kunci ini disediakan untuk akun Anda. Anda juga harus mencatat bidang Token di suatu tempat dan menyimpannya dengan aman.

Pada w3 Antarmuka baris perintah (CLI) memungkinkan kita untuk berinteraksi dengan web3.storage dari terminal. Ini adalah CLI berbasis node, jadi Anda harus menginstalnya terlebih dahulu node Di perangkat Anda

Jika Anda menggunakan Mac, Anda dapat menginstalnya dengan mudah node Melalui Humbero

brew install node

Ini termasuk node packet manager (npm) yang akan kita gunakan untuk instalasi w3 KLI.

npm install -g @web3-storage/w3

Sekarang mari kita uji untuk memastikan w3 terinstal dengan perintah berikut:

w3 --help

Ini akan menampilkan semua perintah yang tersedia.

Gambar oleh penulis (dibuat menggunakan https://carbon.now.sh/)

Sekarang kita tahu CLI terinstal, jalankan token Perintah koneksi CLI ke web3.storage.

w3 token

Anda kemudian akan diminta untuk memasukkan kata sandi API Anda.

Ini adalah token API web3.storage yang dibuat di bagian sebelumnya.

⁂ API token saved Ini berarti bahwa CLI telah berhasil ditautkan

Jika Anda melihat kembali perintah yang ada w3 Anda akan melihat satu yang disebut put.

Seperti yang mungkin sudah Anda duga, beginilah cara kami “menempatkan” konten di IPFS.

w3 put <path>

Sebagai contoh sederhana, buat file teks dengan pesan berikut:

echo "Hello web3.storage" > hello.txt

Sekarang mari kita pergi dari put Perintah untuk menekan file ke IPFS:

w3 put hello.txt --name hello

--name hello Ucapkan perintah penamaan file hello Di web3.storage.

Content ID (CID), serta tautan gerbang publik, adalah outputnya.

https://dweb.link/ipfs/bafybeifzoby6p5khannw2wmdn3sbi3626zxatkzjhvqvp26bg7uo6gxxc4

Jika Anda mengikuti langkah-langkah di atas dengan tepat, maka CID Anda harus sama dengan milik saya. Ingat, CID adalah hash yang mengidentifikasi konten secara unik.

Gambar oleh penulis (dibuat menggunakan https://carbon.now.sh/)

Kami dapat mengunggah folder dengan cara yang persis sama. Cukup sediakan put Perintah dengan jalur direktori yang ingin Anda unggah.

Nanti di postingan ini, kita akan menggunakan tindakan GitHub untuk mengotomatisasi langkah ini.

ID Pelanggan tidak dapat diubah dan tidak dapat diubah. Sistem Nama Antarplanet (IPNS) memecahkan masalah ini dengan nama yang dapat diubah yang merupakan hash kunci publik. Anda dapat mempertimbangkan alamat IPNS sebagai penunjuk ke CID.

Anda dapat menggunakannya untuk membuat alamat IPNS w3 Menggunakan perintah berikut:

w3 name create

Alamat Anda ditampilkan, tetapi Anda selalu dapat menggunakannya w3 name list Untuk menunjukkan nama, bagaimanapun, saya masih menuliskan alamat dan menyimpannya di suatu tempat.

Untuk menautkan CID ke alamat IPNS, kami menggunakan alamat IPNS publish Perintah, seperti yang ditunjukkan di bawah ini:

w3 name publish <key_id> <cid>

<key_id> Apa alamat IPNS Anda? create name list Pertunjukan) dan <cid> Apakah yang kami tautkan ke alamat

Untuk saat ini, jangan khawatir tentang menautkan CID apa pun ke alamat IPNS Anda. Kami akan melakukannya nanti.

Buat repositori GitHub untuk menyimpan kode situs web Anda. Jika ini adalah halaman web pribadi, saya sarankan untuk memberi nama repositori <account_name>.github.ioYang memungkinkan Anda untuk menggunakan halaman GitHub juga.

Dengan meluncurkan repositori, mari tambahkan tindakan yang membawa repositori ke web3.storage setiap kali kita menggunakannya. git push

Masukkan potongan kode berikut di dalamnya .github/workflows/web3_storage.yaml Di tangki Anda:

Tindakan GitHub diluncurkan oleh “git push” untuk mengirim seluruh repositori ke IPFS, kode yang ada. Di Sini (Dibuat menggunakan https://carbon.now.sh/)

Garis $ secrets.WEB3_STORAGE_TOKEN Token membaca API Anda, bagaimana tindakan ini dapat memberi tekanan pada akun Anda.

Simpan token API di GitHub dengan langkah-langkah berikut:

  1. Masuk ke akun GitHub Anda
  2. Pergi ke pengaturan
  3. Lalu rahasianya
  4. Klik pada Tindakan dan kemudian Rahasia Repositori Baru
  5. Kata sandi Anda harus diberi namaWEB3_STORAGE_TOKEN
  6. Salin kode API web3.storage yang kita buat sebelumnya ke dalam kolom

Sekarang setiap kali Anda berlari git push Tindakan ini diaktifkan dan repositori Anda diunggah ke IPFS. Jika Anda mencoba ini, Anda harus memiliki centang hijau artinya tidak ada kesalahan.

Klik pada tanda centang untuk melihat detail tindakan. Ini menampilkan CID dan alamat web gateway (inilah yang dilakukan dua baris terakhir).

Anda dapat menggunakan GitHub CLI untuk melihat CID di terminal. Untuk melakukan ini, Anda perlu menginstal alat baris perintah lain dan menautkannya ke akun GitHub Anda.

GitHub CLI tidak terintegrasi dengan bootloader, tetapi membuatnya agar Anda dapat melihat output dari tindakan Anda di terminal.

Di Mac, kita dapat menginstal gh CLI dengan homebrew adalah sebagai berikut:

brew install gh

melihat Dokumentasi Untuk menginstal di sistem operasi lain

Buka https://github.com/settings/tokens untuk membuat tanda akses. Anda dapat menemukan detail langkah-langkahnya di dokumentasi. Perhatikan bahwa token ini berbeda dari token web3.storage yang kita buat sebelumnya. Yang ini untuk GitHub CLI untuk terhubung ke akun GitHub Anda.

Ketika Anda memiliki tanda akses, jalankan perintah berikut:

gh auth login

Anda akan diminta untuk memasukkan kata sandi otentikasi GitHub Anda

Gambar oleh penulis (dibuat menggunakan https://carbon.now.sh/)

Kita bisa menggunakan gh Perintah untuk melihat informasi tentang tindakan yang kami lakukan:

gh run view -v

Anda harus menjalankan perintah ini dari direktori yang menjalankan git remote, jika tidak, Anda akan mendapatkan kesalahan ini: “fail to define base repo: no git remote found”

Pada -v flag Mengaktifkan keluaran terperinci di sini. Jika tidak, Anda akan melihat pesan yang mengatakan, “Untuk informasi lebih lanjut tentang pekerjaan, coba: gh run view…”

Pilih alur kerja yang ingin Anda lihat dan output akan terbuka di alat paging.

Gambar oleh penulis (dibuat menggunakan https://carbon.now.sh/)

Ini menampilkan output dari tindakan GitHub, terutama CID.

Dapat mengisi tangki dengan gh repo view username/repo --web Jika Anda mau, salin CID dari halaman web.

Sekarang setelah kita mengetahui CID kita, mari kita tautkan ke alamat IPNS yang kita buat sebelumnya.

Untuk menautkan CID ke alamat IPNS, gunakan perintah berikut:

w3 name publish <key_id> <cid>

perhatikan itu <key_id> alamat IPNS dan <cid> CID adalah untuk bagian terakhir

Keuntungan dari ini adalah bahwa alamat IPNS dapat diubah. Artinya, setelah memperbarui situs web, kami dapat memperbarui titik alamat menjadi CID.

Terakhir, mari kita siapkan DNSLink dengan alamat IPNS kita.

Anda harus memiliki domain khusus yang dibeli melalui penyedia DNS. Saya menggunakan Cloudflare, tetapi setiap penyedia harus bekerja.

Idenya di sini adalah agar domain kustom kita mengambil konten dari URL gateway, tetapi kita perlu memberi tahu alamat IPNS untuk mengambilnya.

Instruksi koneksi DNS menggunakan Cloudflare

  1. Masuk ke Cloudflare
  2. Klik situs web aktif Anda dan kemudian DNS di kolom kiri.
  3. Di bagian Manajemen DNS, tambahkan satu TXT Dan CNAME Catatan.
  4. Sesuaikan TXT Daftar ke _dnslink.yourwebsite.com (Catatan: Pastikan untuk mengganti yourwebsite.com dengan domain Anda)
  5. Sesuaikan TXT Tangkap konten ke dnslink=/ipns/<key_id> (Catatan: <key_id> Alamat IPNS Anda
  6. Sesuaikan CNAME Merekam di gateway IPFS mana pun (mis. gateway.ipfs.io )

Sebagai contoh, ini adalah tangkapan layar saya TXT Dan CNAME Catatan:

Gambar oleh penulis

Koneksi DNS hanya perlu dilakukan satu kali dengan alamat IPNS yang dapat diubah.

Apa yang kami lakukan adalah menautkan nama domain kami (dihosting di server pusat) ke server gateway. Server gateway itu (yang juga merupakan server terpusat) mengambil konten yang kami minta dari jaringan IPFS (yang terdesentralisasi).

Dengan cara ini, situs Anda akan dihosting di IPFS. Server gateway terpusat dan server web Anda akan dinonaktifkan jika crash.

Namun, konten situs web Anda masih berada di jaringan IPFS. Pendekatan server gateway ini adalah salah satu cara kami dapat menghubungkan situs web terdesentralisasi kami ke browser IPFS yang bodoh. Gerbang adalah solusi untuk masalah ini.

Ikhtisar tentang cara kerja gateway IPFS. Permintaan dirutekan melalui server gateway terpusat, dan kemudian konten IPFS diambil dan dikirim ke pengguna. (Sumber gambar: modifikasi gambar UnDraw oleh penulis)

Saya pikir saya menyaring proses ini sebanyak yang saya bisa. Pendekatan ini menghilangkan kebutuhan untuk memperbarui CID dalam koneksi DNS, dan semuanya dapat dilakukan dari baris perintah hanya dengan tiga perintah.

Tiga perintah untuk memperbarui situs web

  1. git push : Memperbarui repositori ini dan mengalihkan situs web ke IPFS
  2. gh run view -h Ini untuk melihat CID kami
  3. w3 name publish <key_id> <cid> : Ini memperbarui tautan IPNS

Ini akan memakan waktu untuk menyiapkan pendekatan ini, tapi saya pikir itu sepadan dengan usaha.

Jika ada yang punya cara untuk meningkatkan alur kerja ini, saya siap memberikan saran.

  • Sistem File Antarplanet (IPFS)
  • Sistem penamaan antarplanet (IPNS)
  • ID Konten (CID)
  • Sistem Nama Domain (DNS)
  • Antarmuka Baris Perintah (CLI)

Itu tadi artikel tentang Cara modern untuk meng-host situs di IPFS | Oleh Luke Gloege, Ph.D. | Juni 2022

, terimakasih telah berkunjung di website ini, mudah-mudahan postingannya ada manfaatnya ya.

[ad_2]

Source link

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan.