Untuk memulai, kita perlu menginstal Python dan perpustakaan yang diperlukan untuk pengembangan blockchain. Ikuti langkah ini:
Menyiapkan lingkungan virtual: Lingkungan virtual membantu menjaga dependensi proyek Anda tetap terisolasi dari proyek Python lain di sistem Anda. Buka antarmuka baris perintah Anda dan buat direktori baru untuk proyek blockchain Anda. Arahkan ke direktori proyek menggunakan perintah cd
. Setelah berada di dalam direktori proyek, buat lingkungan virtual baru menggunakan perintah berikut:
Python
python -m venv env
Perintah ini menciptakan lingkungan virtual baru bernama “env” di direktori proyek.
Aktifkan lingkungan virtual: Aktifkan lingkungan virtual menggunakan perintah yang sesuai untuk sistem operasi Anda:
Python
env\Scripts\aktifkan
Sumber Python
env/bin/aktifkan
Mengaktifkan lingkungan virtual memastikan bahwa setiap paket Python yang Anda instal khusus untuk proyek ini dan tidak akan mengganggu instalasi Python global sistem Anda.Python
pip instal tanggal waktu hashlib
Perintah ini menginstal perpustakaan hashlib
untuk operasi kriptografi dan perpustakaan datetime
untuk cap waktu.Sekarang kita telah menginstal Python dan perpustakaan yang diperlukan, mari kita inisialisasi proyek blockchain kita.
Buat direktori proyek baru: Pilih lokasi yang sesuai di komputer Anda untuk proyek Anda dan buat direktori baru khusus untuk proyek blockchain Anda. Anda dapat melakukan ini melalui baris perintah atau menggunakan file explorer.
Navigasi ke direktori proyek: Buka antarmuka baris perintah Anda dan navigasikan ke direktori proyek yang baru dibuat menggunakan perintah cd
. Misalnya, jika direktori proyek Anda bernama “proyek-blockchain”, Anda akan menggunakan perintah berikut:
Proyek blockchain Python
cd
Inisialisasi repositori Git: Jika Anda sudah familiar dengan Git dan ingin melacak perubahan dalam proyek Anda, Anda dapat menginisialisasi repositori Git baru. Gunakan perintah berikut untuk menginisialisasi repositori:
Python
git init
Menginisialisasi repositori Git akan membuat .git
tersembunyi direktori di proyek Anda, yang melacak perubahan dan memungkinkan Anda mengelola versi kode Anda.
Siapkan struktur proyek: Buat file dan direktori yang diperlukan untuk proyek Anda. Untuk saat ini, kami akan fokus pada struktur dasar yang terdiri dari file blockchain utama dan file utilitas tambahan apa pun. Buat file baru bernama blockchain.py
di direktori proyek Anda.
Blok genesis adalah blok pertama dalam blockchain. Pada langkah ini, kita akan mendefinisikan struktur blok dan membuat blok genesis.
Buka file blockchain.py
di editor kode pilihan Anda. Di sinilah kita akan menulis kode blockchain kita.
Tentukan struktur blok: Blok biasanya terdiri dari bidang seperti indeks, stempel waktu, data, hash sebelumnya, dan nonce. Tentukan kelas atau struktur data yang mewakili blok di blockchain Anda. Misalnya, Anda dapat membuat kelas Block
dengan variabel instan untuk setiap bidang.
Blok kelas Python
:
def __init__(self, indeks, stempel waktu, data, previous_hash, nonce):
self.index = indeks
self.timestamp = stempel waktu
self.data = data
self.previous_hash = previous_hash
self.nonce = nonce
Kode ini mendefinisikan kelas Block
dengan bidang yang wajib diisi.
Menerapkan fungsionalitas untuk membuat blok genesis: Tulis kode untuk membuat blok genesis dengan nilai default yang sesuai untuk setiap bidang. Blok ini akan berfungsi sebagai titik awal untuk blockchain Anda. Misalnya:
Python
genesis_block = Blok(0, datetime.datetime.now(), "Blok Kejadian", "0", 0)
Kode ini membuat turunan dari kelas Block
yang mewakili blok genesis dengan indeks 0, stempel waktu saat ini, “Blok Kejadian” sebagai data, “0” sebagai hash sebelumnya (karena tidak ada blok sebelumnya), dan nilai nonce 0 .
Dalam jaringan blockchain, node berkomunikasi satu sama lain. Pada langkah ini, kami akan mengonfigurasi pengaturan jaringan untuk blockchain Anda.
Tentukan pengaturan jaringan: Tentukan nama jaringan atau pengidentifikasi untuk blockchain Anda. Anda dapat memilih nama apa pun yang mewakili proyek blockchain Anda. Misalnya, Anda dapat mengatur network_name = "My Blockchain"
.
Tentukan nomor port: Setiap node dalam jaringan memerlukan nomor port unik untuk komunikasi. Tetapkan nomor port yang sesuai ke node Anda. Misalnya, Anda dapat mengatur port = 5000
.
Konfigurasikan pengaturan jaringan dan port: Tambahkan variabel atau parameter konfigurasi di proyek Anda untuk menyimpan nama jaringan dan informasi port. Anda dapat menggunakan konstanta atau file konfigurasi untuk tujuan ini. Misalnya, Anda dapat membuat file config.py
dan mendefinisikan variabel di sana:
Python
nama_jaringan = "Blockchain Saya"
port = 5000
Kode ini membuat file config.py
dengan nama jaringan dan variabel port yang ditentukan.
Terakhir, mari kita uji lingkungan pengembangan untuk memastikan semuanya sudah diatur dengan benar.
blockchain.py
Anda untuk memeriksa apakah lingkungan telah diatur dengan benar. Misalnya, Anda dapat membuat instance dari kelas Block
, menambahkan blok genesis, dan mencetak blockchain untuk memverifikasi bahwa inisialisasinya benar.untuk blok di blockchain:
print(f”Blok #{block.index} - Stempel waktu: {block.timestamp} - Data: {block.data}”)
Kode ini membuat daftar `blockchain` dan menambahkan blok genesis ke dalamnya. Kemudian mencetak rincian setiap blok di blockchain.
1.
Jalankan pengujian: Jalankan kode pengujian menggunakan juru bahasa Python:
ular piton
python blockchain.py
```
Jika semuanya sudah diatur dengan benar, Anda akan melihat output dari blockchain, yang mencakup rincian blok genesis.
Di akhir pelajaran ini, Anda akan mengonfigurasi lingkungan pengembangan dan meluncurkan proyek Python baru untuk membuat blockchain Anda sendiri. Anda sekarang siap untuk melanjutkan ke Pelajaran 2, di mana kita akan mulai membangun struktur blockchain. Bersiaplah untuk mengotori tangan Anda dengan pengembangan blockchain!
Untuk memulai, kita perlu menginstal Python dan perpustakaan yang diperlukan untuk pengembangan blockchain. Ikuti langkah ini:
Menyiapkan lingkungan virtual: Lingkungan virtual membantu menjaga dependensi proyek Anda tetap terisolasi dari proyek Python lain di sistem Anda. Buka antarmuka baris perintah Anda dan buat direktori baru untuk proyek blockchain Anda. Arahkan ke direktori proyek menggunakan perintah cd
. Setelah berada di dalam direktori proyek, buat lingkungan virtual baru menggunakan perintah berikut:
Python
python -m venv env
Perintah ini menciptakan lingkungan virtual baru bernama “env” di direktori proyek.
Aktifkan lingkungan virtual: Aktifkan lingkungan virtual menggunakan perintah yang sesuai untuk sistem operasi Anda:
Python
env\Scripts\aktifkan
Sumber Python
env/bin/aktifkan
Mengaktifkan lingkungan virtual memastikan bahwa setiap paket Python yang Anda instal khusus untuk proyek ini dan tidak akan mengganggu instalasi Python global sistem Anda.Python
pip instal tanggal waktu hashlib
Perintah ini menginstal perpustakaan hashlib
untuk operasi kriptografi dan perpustakaan datetime
untuk cap waktu.Sekarang kita telah menginstal Python dan perpustakaan yang diperlukan, mari kita inisialisasi proyek blockchain kita.
Buat direktori proyek baru: Pilih lokasi yang sesuai di komputer Anda untuk proyek Anda dan buat direktori baru khusus untuk proyek blockchain Anda. Anda dapat melakukan ini melalui baris perintah atau menggunakan file explorer.
Navigasi ke direktori proyek: Buka antarmuka baris perintah Anda dan navigasikan ke direktori proyek yang baru dibuat menggunakan perintah cd
. Misalnya, jika direktori proyek Anda bernama “proyek-blockchain”, Anda akan menggunakan perintah berikut:
Proyek blockchain Python
cd
Inisialisasi repositori Git: Jika Anda sudah familiar dengan Git dan ingin melacak perubahan dalam proyek Anda, Anda dapat menginisialisasi repositori Git baru. Gunakan perintah berikut untuk menginisialisasi repositori:
Python
git init
Menginisialisasi repositori Git akan membuat .git
tersembunyi direktori di proyek Anda, yang melacak perubahan dan memungkinkan Anda mengelola versi kode Anda.
Siapkan struktur proyek: Buat file dan direktori yang diperlukan untuk proyek Anda. Untuk saat ini, kami akan fokus pada struktur dasar yang terdiri dari file blockchain utama dan file utilitas tambahan apa pun. Buat file baru bernama blockchain.py
di direktori proyek Anda.
Blok genesis adalah blok pertama dalam blockchain. Pada langkah ini, kita akan mendefinisikan struktur blok dan membuat blok genesis.
Buka file blockchain.py
di editor kode pilihan Anda. Di sinilah kita akan menulis kode blockchain kita.
Tentukan struktur blok: Blok biasanya terdiri dari bidang seperti indeks, stempel waktu, data, hash sebelumnya, dan nonce. Tentukan kelas atau struktur data yang mewakili blok di blockchain Anda. Misalnya, Anda dapat membuat kelas Block
dengan variabel instan untuk setiap bidang.
Blok kelas Python
:
def __init__(self, indeks, stempel waktu, data, previous_hash, nonce):
self.index = indeks
self.timestamp = stempel waktu
self.data = data
self.previous_hash = previous_hash
self.nonce = nonce
Kode ini mendefinisikan kelas Block
dengan bidang yang wajib diisi.
Menerapkan fungsionalitas untuk membuat blok genesis: Tulis kode untuk membuat blok genesis dengan nilai default yang sesuai untuk setiap bidang. Blok ini akan berfungsi sebagai titik awal untuk blockchain Anda. Misalnya:
Python
genesis_block = Blok(0, datetime.datetime.now(), "Blok Kejadian", "0", 0)
Kode ini membuat turunan dari kelas Block
yang mewakili blok genesis dengan indeks 0, stempel waktu saat ini, “Blok Kejadian” sebagai data, “0” sebagai hash sebelumnya (karena tidak ada blok sebelumnya), dan nilai nonce 0 .
Dalam jaringan blockchain, node berkomunikasi satu sama lain. Pada langkah ini, kami akan mengonfigurasi pengaturan jaringan untuk blockchain Anda.
Tentukan pengaturan jaringan: Tentukan nama jaringan atau pengidentifikasi untuk blockchain Anda. Anda dapat memilih nama apa pun yang mewakili proyek blockchain Anda. Misalnya, Anda dapat mengatur network_name = "My Blockchain"
.
Tentukan nomor port: Setiap node dalam jaringan memerlukan nomor port unik untuk komunikasi. Tetapkan nomor port yang sesuai ke node Anda. Misalnya, Anda dapat mengatur port = 5000
.
Konfigurasikan pengaturan jaringan dan port: Tambahkan variabel atau parameter konfigurasi di proyek Anda untuk menyimpan nama jaringan dan informasi port. Anda dapat menggunakan konstanta atau file konfigurasi untuk tujuan ini. Misalnya, Anda dapat membuat file config.py
dan mendefinisikan variabel di sana:
Python
nama_jaringan = "Blockchain Saya"
port = 5000
Kode ini membuat file config.py
dengan nama jaringan dan variabel port yang ditentukan.
Terakhir, mari kita uji lingkungan pengembangan untuk memastikan semuanya sudah diatur dengan benar.
blockchain.py
Anda untuk memeriksa apakah lingkungan telah diatur dengan benar. Misalnya, Anda dapat membuat instance dari kelas Block
, menambahkan blok genesis, dan mencetak blockchain untuk memverifikasi bahwa inisialisasinya benar.untuk blok di blockchain:
print(f”Blok #{block.index} - Stempel waktu: {block.timestamp} - Data: {block.data}”)
Kode ini membuat daftar `blockchain` dan menambahkan blok genesis ke dalamnya. Kemudian mencetak rincian setiap blok di blockchain.
1.
Jalankan pengujian: Jalankan kode pengujian menggunakan juru bahasa Python:
ular piton
python blockchain.py
```
Jika semuanya sudah diatur dengan benar, Anda akan melihat output dari blockchain, yang mencakup rincian blok genesis.
Di akhir pelajaran ini, Anda akan mengonfigurasi lingkungan pengembangan dan meluncurkan proyek Python baru untuk membuat blockchain Anda sendiri. Anda sekarang siap untuk melanjutkan ke Pelajaran 2, di mana kita akan mulai membangun struktur blockchain. Bersiaplah untuk mengotori tangan Anda dengan pengembangan blockchain!