Pos Menyiapkan Lingkungan Pengembangan untuk Blockchain muncul pertama kali di Coinpedia Fintech News

1. Perkenalan

Blockchain semakin populer dan berkembang saat ini karena janji inovasi dan desentralisasinya. Meskipun terlihat menarik dari luar, menyelam tanpa lingkungan yang terkonfigurasi dengan baik juga sama menakutkannya. Namun jangan khawatir—kami siap membantu Anda!! Artikel ini menggali lebih dalam mengenai ceruk blockchain, memberikan panduan dan wawasan terperinci yang disesuaikan dengan minat dan kebutuhan pengembang blockchain. Bersiaplah untuk menjelajahi dunia blockchain dengan perjalanan mengasyikkan ini!!

2. Memilih Alat yang Tepat

Saat mengonfigurasi lingkungan Anda, penting untuk memilih alat yang tepat sesuai dengan minat dan kebutuhan Anda. Berikut ini adalah alat dan editor yang dapat Anda jelajahi.

Sistem operasi: 

Anda dapat mengembangkan aplikasi blockchain di OS apa pun, namun macOS dan Linux lebih disukai karena kompatibilitas dan dukungan yang lebih baik.

Linux: Linux Gratis dan Sumber Terbuka serta memberikan fleksibilitas dan penyesuaian. Ini memiliki dukungan komunitas yang luas dan sumber daya yang kaya. Ada distro Linux populer yang banyak digunakan. Salah satunya adalah Ubuntu, yang ideal untuk pemula, dan yang lainnya adalah Fedora dan Debian. Sebagian besar desain alat blockchain dibuat dengan Linux sebagai pusatnya.

MacOS: MacOS mirip dengan Linux; ini didasarkan pada Unix dan memiliki kesamaan dalam pengalaman alat baris perintah dan lingkungan pengembangan. Integrasi perangkat keras dan perangkat lunak berjalan mulus. Selain itu, ia memiliki dukungan asli yang hebat, seperti Homebrew, Xcode, dan Docker.

Windows: Anda masih dapat menggunakan Windows dengan WSL, (Subsistem Windows untuk Linux) ini memungkinkan Anda menjalankan Linux bersama dengan Windows. Ini memberi Anda pemahaman terbaik tentang Windows dan alat-alat canggih Linux.

Tabel perbedaan antara OS/Mac/Linux

1.Editor/IDE Kode:

Editor kode atau IDE yang bagus dapat membuat Anda lebih produktif. Berikut beberapa opsi untuk dipikirkan:

  • VSCode: Cukup ringan, dan memiliki add-on yang mengagumkan untuk berbagai bahasa pengkodean dan kerangka blockchain.

  • IntelliJ IDEA: Yang ini kuat, dan sangat membantu jika Anda mengotak-atik proyek blockchain Java.

  • Sublime Text: Cepat dan Anda dapat banyak mengubahnya. Sangat bagus jika Anda ingin membuat semuanya tetap sederhana.

2. Sistem Kontrol Versi: 

Kontrol versi sangat penting untuk proyek apa pun tempat Anda membuat sesuatu. Git, bersama dengan situs web seperti GitHub atau GitLab, membantu Anda menangani kode dengan baik, bekerja dengan orang lain, dan mengawasi apa yang berubah. Alat-alat ini mempermudah pengelolaan basis kode Anda, bekerja sama dengan orang lain, dan terus mengikuti semua pembaruan.

3. Menginstal Perangkat Lunak Penting

Bahasa pemrograman

Berikut adalah langkah-langkah Instalasi untuk bahasa umum yang digunakan dalam pengembangan blockchain

JavaScript/Skrip Ketik:

ular piton:

Pergi:

Karat:

Buruh pelabuhan:

Docker membantu menciptakan lingkungan pengembangan yang konsisten.

  • Langkah-langkah instalasi Docker.

4. Kerangka dan Alat Pengembangan Blockchain

  • Pengaturan Umum:

Pengaturan Umum melibatkan berbagai alat dan perpustakaan yang mendukung blockchain terlepas dari blockchain spesifiknya. Ada alat seperti Truffle, dan Hardhat yang menyediakan lingkungan pengembangan yang komprehensif.

  • Kerangka Kerja Populer:

  1. Hyperledger Fabric: Sistem blockchain khusus yang dibuat untuk digunakan oleh perusahaan besar.

  2. Tendermint: Alat blockchain cepat yang mendukung cara Byzantine Fault Tolerant (BFT) untuk menyetujui berbagai hal.

Kontainerisasi dan Virtualisasi:

Docker membantu menjaga pengaturan pekerjaan Anda tetap sama di komputer yang berbeda. Anda dapat membuat container Docker dengan semua dependensi yang Anda perlukan, sehingga memudahkan pengaturan dan penghapusan area kerja.

5. Menyiapkan Jaringan Blockchain Lokal

  • Alat Umum:

Beberapa alat umum yang berguna dalam mengelola dan menjalankan blockchain lokal adalah sebagai berikut:

Docker Compose: Docker Compose digunakan untuk mendefinisikan dan menjalankan aplikasi Docker multi-kontainer. Ini menggunakan file docker-compose.yml. Berikut adalah langkah-langkah instalasi yang sama:

Kubernetes: Sistem sumber terbuka untuk mengotomatiskan penerapan, penskalaan, dan pengelolaan aplikasi dalam container. Berikut langkah-langkah instalasi Kubernetes:

berkas yaml:

Menyebarkan:

  • Menjalankan Node Lokal:

Penyiapan node lokal berguna untuk menguji aplikasi Anda di lingkungan yang terkendali. Berikut langkah-langkah penyiapannya:

  • Menggunakan Mesin Virtual:

Mesin Virtual membantu Anda bereksperimen dengan aplikasi Anda tanpa mempengaruhi lingkungan lokal. Itu juga menambahkan lapisan abstraksi ekstra.

6. Pengembangan Kontrak Cerdas

Bahasa Umum:

  • Kontrak pintar umumnya ditulis dalam Soliditas dan karat:

  • Soliditas: Inilah cara Anda menginstal soliditas:

npm install -g solcsolc –versi

Karat:

target Rustup tambahkan wasm32-unknown-unknown

Kompiler dan Linter:

Kompiler dan linter adalah alat yang digunakan untuk menulis kontrak pintar berkualitas tinggi. Kompiler membantu Anda mengkompilasi kode sehingga Anda dapat menerapkannya lebih lanjut di blockchain.

Berikut langkah-langkah menyusun kontrak: 

1. Soliditas:

solc –bin –abi –optimasi -o build/ Kontrak Anda.sol

Buat file .solhint.json{ “extends”: “solhint:recommended”,  “rules”: {    “indent”: [“error”, 4],    “quotes”: [“error”, “double”]  }}

2. Karat:

Instal Clippy: komponen Rustup tambahkan Clippy Buat file Clipy.toml[clippy]warnings_as_errors = true

Menulis Kontrak Cerdas

Saat menulis kontrak pintar, Anda harus mengingat pedoman dan praktik terbaik yang harus diikuti:

  • Pastikan kode Anda bersifat modular dan dapat digunakan kembali

  • Lakukan audit Keamanan

  • Memastikan efisiensi Gas untuk mengurangi biaya transaksi

  • Lakukan pengujian menyeluruh 

  • Dokumentasikan kode Anda dengan benar

  • Gunakan perpustakaan SafeMath

  • Selalu Periksa nilai pengembalian dan kesalahan

  • Hindari nilai hardcoding dalam kontrak Anda

  • Ikuti gaya pengkodean yang konsisten

  • Menerapkan mekanisme kontrol akses

  • Perbarui dependensi secara teratur

  • Gunakan acara untuk mencatat

  • Gunakan perpustakaan standar.

  • Gunakan dompet Multisignature 

  • Miliki rencana pemeliharaan jangka panjang dari kontrak Anda.

7. Pengujian dan Debug

Kerangka Pengujian:

  • Pengujian adalah pilar terakhir dan terkuat dari setiap pembangunan. Mocha dan Chai sangat penting untuk menguji kontrak dalam JavaScript. Mocha adalah kerangka pengujian dan Chai adalah pustaka pernyataan yang keduanya secara bersamaan membantu menjalankan pengujian dan menulis pernyataan pengujian. Waffle adalah kerangka pengujian yang terintegrasi secara mulus dengan Hardhat. Ini memberikan kemampuan pengujian tingkat lanjut dan memiliki pernyataan yang komprehensif.

Alat Debugging:

  • Debugging adalah menemukan bug dan memperbaikinya di kode Anda. Beberapa alat membantu dalam hal ini. Alat seperti Remix, GDB digunakan untuk debugging.

Pengujian Berkelanjutan:

Menguji setiap saat sangatlah penting saat membuat perangkat lunak saat ini. Ini memastikan kode Anda diperiksa dan divalidasi oleh mesin berulang kali. Saat Anda menggunakan alat yang membantu Continuous Integration (CI) dan Continuous Deployment (CD), Anda dapat menyiapkan sistem yang menjalankan pengujian sendiri setiap kali seseorang mengubah kode. Ini membantu menemukan masalah dan menjaga kode tetap bagus.

8. Alat Penerapan

Strategi Penerapan Umum:

  • Berikut adalah beberapa strategi penerapan umum:

  1. Penerapan Lokal: Penerapan dilakukan secara lokal dan terkendali menggunakan alat seperti Ganache, dan Docker.

  2. Penyebaran Testnet: Ini dilakukan untuk menguji aplikasi di lingkungan dunia nyata tanpa aset nyata.

  3. Penerapan Mainnet: Ini adalah langkah penting di mana Anda menerapkan ke jaringan utama tempat aset dan transaksi nyata berlangsung. Penerapan ini memerlukan pengujian menyeluruh sebelum diterapkan.

  4. Penerapan Otomatis: Gunakan saluran CI/CD untuk penerapan otomatisasi dan pengulangan.

Pembuatan Skrip dan Otomatisasi:

Inilah cara Anda menulis skrip untuk otomatisasi:

Skrip topi keras:

Menggunakan Layanan Cloud:

Menyebarkan node blockchain dan kontrak pintar menggunakan layanan cloud memberikan kemudahan, keandalan, dan skalabilitas. Kita dapat menggunakan layanan cloud berikut:

AWS: (Layanan Web Amazon):

  • AWS adalah layanan cloud yang dikelola Amazon, berguna untuk pengaturan instans EC2 untuk menjalankan node. Kita dapat menerapkan kontrak pintar menggunakan lambda AWS untuk eksekusi tanpa server.

Biru langit

Layanan Azure Blockchain membantu Anda mengelola jaringan blockchain. Anda dapat menggunakan Azure Functions atau Azure DevOps untuk menerapkan blockchain Anda dan terus memperbaruinya.

GCP

Kubernetes Engine (GKE) atau Compute Engine Google Cloud memungkinkan Anda menyiapkan node blockchain. Google Cloud Functions dan Cloud Build memudahkan penyiapan blockchain Anda.

9. Menghubungkan ke Jaringan Eksternal

1. Konfigurasi: Langkah-langkah untuk mengkonfigurasi koneksi:

  • Konfigurasi Jaringan: Atur konfigurasi jaringan sesuai kebutuhan Anda. Berikut contoh Ethereum yang diberikan:

File Json:{  “jaringan”: {    “mainnet”: {      “url”: “https://mainnet.infura.io/v3/YOUR-PROJECT-ID”,      “akun”: [“0xYOUR_PRIVATE_KEY”]    }  }}

  • Variabel lingkungan: Gunakan file .env dan pustaka seperti dotenv untuk mengelola variabel lingkungan dan menyimpan informasi keamanan dan kunci pribadi dengan aman.

2. API dan Perpustakaan:

  • Menggunakan API dan perpustakaan untuk berinteraksi dengan jaringan eksternal menyederhanakan interaksi. Berikut beberapa API yang populer digunakan:

Ethers.js const { ethers } = memerlukan(“ethers”); const penyedia = new ethers.providers.InfuraProvider(“wisma”, “ID PROYEK ANDA”);

Polka.jsconst { ApiPromise, WsProvider } = require('@polkadot/api');const penyedia = new WsProvider('wss://rpc.polkadot.io');const api = menunggu ApiPromise.create({ penyedia }) ;

Web3.js untuk ethereum:const Web3 = memerlukan('web3');const web3 = Web3 baru('https://mainnet.infura.io/v3/ID-PROYEK-YOUR');

Integrasi Dompet:

  • Integrasi dompet memungkinkan pengguna untuk berinteraksi dengan blockchain melalui transaksi dan interaksi. Berikut langkah-langkah untuk integrasi dompet:

Metamask:

penyedia const = ethers.providers.Web3Provider baru (window.ethereum);

Koneksi Dompet:

const WalletConnectProvider = memerlukan(“@walletconnect/web3-provider”);const penyedia = new WalletConnectProvider({ infuraId: “ID-INFURA-ANDA” });

10. Integrasi dan Penerapan Berkelanjutan (CI/CD)

Alat CI/CD Umum:

  • Tindakan Github: Tindakan GitHub memungkinkan Anda mengatur CI/CD untuk blockchain.

Travis CLI:

Circle CLI: CircleCI adalah cara lain untuk melakukan CI/CD yang bekerja dengan baik dengan proyek-proyek blockchain. CircleCI memberi Anda opsi menarik untuk membuat penerapan terjadi dengan sendirinya.

Pengujian dan Penerapan Otomatis:

  • Menulis alur kerja untuk pengujian dan penerapan otomatis memastikan kode yang konsisten dan membantu iterasi yang cepat.

Pengujian: npx hardhat testDeployment: penerapan npx hardhat

11. Alat Keamanan

Keamanan merupakan inti dari dunia blockchain sehingga memastikan alat keamanan terbaik sangatlah penting. Praktik Keamanan Umum:

  • Lakukan tinjauan kode secara teratur

  • Memiliki kontrol akses yang tepat untuk fungsi publik dan swasta

  • Lakukan audit rutin

Alat Analisis Statis:

  • Alat analisis statis berguna dalam mengidentifikasi kerentanan kode kami dan memperbaikinya. Beberapa alat yang digunakan untuk hal yang sama adalah Mythril dan Slither.

Audit Reguler:

Melakukan audit eksternal dan internal secara berkala dan memperbaiki masalah yang timbul sebelum kontrak dieksploitasi.

12. Praktik Terbaik

Struktur Folder:

  • Pertahankan struktur folder yang tepat dan bersih untuk akses terorganisir dan lingkungan bebas kekacauan dalam proyek.

Variabel Lingkungan

  • Gunakan file env dan perpustakaan dotenv 

  • Gunakan alat manajemen rahasia seperti manajer rahasia AWS atau Azure Key Vault.

Dokumentasi:

Dokumentasi kode sama pentingnya dengan penulisan kode.

  • Pertahankan file README yang tepat sehingga orang lain dapat memahami proyek Anda

  • Tambahkan komentar dalam kode bila diperlukan

  • Gunakan wiki proyek atau API dokumentasi.

13. Kesimpulan

Kita dapat menyimpulkan dengan mengatakan bahwa menyiapkan lingkungan yang tepat lebih penting daripada sekadar membangun aplikasi blockchain. Pengaturan lingkungan memiliki daftar periksa untuk memilih alat yang tepat untuk mengonfigurasi jaringan lokal dan menerapkan kontrak pintar. Dengan mengikuti langkah dan strategi yang disebutkan dalam artikel ini, Anda dapat membuat aplikasi yang efisien, kuat, dan aman. Belajar sepanjang waktu dan menyesuaikan berbagai hal agar sesuai dengan kebutuhan Anda akan membantu Anda membuat pengaturan Anda lebih baik dan berkembang seiring dengan kemajuan baru dalam teknologi blockchain. Selamat Mengkode!!