Rangkaian Peribadi Ethereum - Buat Ethereum Blockchain anda sendiri!



Dalam tutorial Ethereum Private Network ini, anda akan belajar bagaimana membuat Ethereum Blockchain anda sendiri dan bagaimana membuat transaksi antara dua akaun.

Pada yang sebelumnya Tutorial Truffle Ethereum , anda belajar tentang Truffle Suite dan mengembangkan sebuah Ethereum DApp. Untuk mengembangkan aplikasi ethereum yang kompleks, anda ingin menjalankannya di rangkaian peribadi untuk melihat bagaimana ia berfungsi sebelum menggunakannya. Oleh itu, dalam tutorial Ethereum Private Network ini, anda akan belajar bagaimana membuat Rangkaian Ethereum Persendirian dan bagaimana membuat transaksi antara dua akaun.

tali boleh berubah atau tidak berubah dalam java

Berminat dengan Pembangunan Ethereum? Lihat Siaran Langsung .





Tutorial Rangkaian Peribadi Ethereum

Inilah topik yang akan saya bahas dalam tutorial ini:

Apakah Rangkaian Persendirian Ethereum?

Rangkaian Peribadi Ethereum adalah Blockchain peribadi yang terasing dari rangkaian Ethereum Utama. Ethereum Private Network terutamanya dibuat oleh organisasi untuk menyekat kebenaran membaca Blockchain. Hanya node dengan kebenaran yang betul yang dapat mengakses Blockchain ini. Nod dalam rangkaian ini tidak dihubungkan ke nod rangkaian utama dan jangkauannya hanya terhad kepada Blockchain peribadi ini.



Tutorial Rangkaian Peribadi dan Awam -Ethereum - Edureka

Mengapa Rangkaian Peribadi Ethereum digunakan?

Ethereum Private Network digunakan oleh organisasi untuk menyimpan data peribadi yang semestinya tidak dapat dilihat oleh orang di luar organisasi mereka. Ethereum Private Network juga digunakan untuk menguji dan bereksperimen Blockchain jika seseorang tidak mahu menggunakan rangkaian ujian awam.

Ciri-ciri Rangkaian Peribadi Ethereum

Seperti disebutkan di bagian sebelumnya, Ethereum Private Network digunakan untuk tujuan pengujian. Tetapi mengapa seseorang mengambil masalah untuk membuat rangkaian baru ketika sudah ada rangkaian pengujian awam yang tersedia? Nah, Ethereum Private Network mempunyai rangkaian ciri tersendiri seperti yang disenaraikan di bawah:



  • Ia berfungsi sebagai Pangkalan Data Teragih
  • Blockchain di Rangkaian Peribadi Ethereum boleh mengandungi data peribadi (kerana rangkaian ini tidak umum)
  • Akses boleh dibuat berdasarkan kebenaran
  • Melakukan transaksi dapat percuma
  • Akaun boleh diperuntukkan dengan eteroleh diri kita sendiri yang tidak memerlukan pembelian eter maya

Melanjutkan, mari kita lihat bahagian tutorial Rangkaian Peribadi Ethereum ini.

Memasang Ethereum di Ubuntu

Untuk membuat Rangkaian Persendirian Ethereum, pertama-tama kita perlu memasang Ethereum dalam sistem kita. Di bahagian Tutorial Rangkaian Peribadi Ethereum ini, anda akan belajar cara memasang Ethereum di Ubuntu.

Untuk memasang Ethereum, jalankan arahan berikut di terminal:

$ sudo apt-get install software-properties-common $ sudo add-apt-repository -y ppa: ethereum / ethereum $ sudo apt-get kemas kini $ sudo apt-get install ethereum

Selesai! Ini akan memasang Ethereum pada sistem anda.

Mari kita mulakan dengan penciptaan Rangkaian Peribadi.

Demo: Membuat Rangkaian Persendirian Ethereum dan membuat Transaksi

Dalam Tutorial Rangkaian Peribadi Ethereum ini, kami akan menghantar eterdari satu akaun ke akaun lain dan jadi, kita memerlukan akaun. Mari kita lihat bagaimana membuat akaun untuk Blockchain kami.

Membuat Akaun Untuk Rangkaian Peribadi Ethereum

Sebelum membuat akaun baru, mari kita buat direktori baru untuk tempat kerja kita. Rujuk arahan di bawah untuk melakukan ini:

$ mkdir private-ethereum $ cd private-ethereum

Untuk membuat transaksi, kami memerlukan sekurang-kurangnya dua akaun: Penerima dan pengirim.

Untuk membuat dua akaun, jalankan arahan berikut dua kali:

$ geth --datadir ./datadir akaun baru

Masuk ke frasa laluan untuk setiap akaun apabila ditanya. Jangan lupa frasa laluan ini!

Setelah arahan ini berjaya, dua akaun akan dibuat dan alamat akaun akan dipaparkan di layar.

Simpan alamat ini di suatu tempat kerana kami akan menggunakannya dengan lebih jauh.

Membuat Fail Kejadian

Fail Genesis mengandungi sifat yang menentukan Blockchain. Fail Genesis adalah titik permulaan Blockchain dan oleh itu, wajib membuat fail Genesis untuk membuat Blockchain. Sekarang, mari kita buat Kejadianfail.

Pertama, buat fail bernama genesis.json

$ nano genesis.json

Dan sekarang salin dan tampal kod berikut dalam fail itu:

{'config': {'chainId': 2019, 'homesteadBlock': 0, 'eip155Block': 0, 'eip158Block': 0, 'byzantiumBlock': 0}, 'kesulitan': '400', 'gasLimit': ' 2000000 ',' mengalokasikan ': {' 82c440bba462220c9b54600e584373014706c177 ': {' keseimbangan ':' 100000000000000000000000000 '},' 9db5b590fdecc10cdb04b85a3503e94e61b207ca ': {0000 '00} '0000 '00

Catatan: Dalam kod di atas, ganti alamat di bawah memperuntukkan bahagian dengan alamat akaun yang anda buat pada langkah sebelumnya.

Simpan dan keluar.

Mari saya jelaskan isi fail Genesis secara ringkas:

rantaiId - Ini adalah nombor pengenalan rantai yang digunakan untuk membezakan antara Blockchains
homesteadBlock, eip155Block, eip158Block, byzantiumBlock - sifat ini berkaitan dengan pemalsuan rantai dan versi. Kami tidak memerlukan ini untuk tutorial kami, jadi mari kita tetapkan ke 0.
kesukaran - Nombor ini menentukan betapa sukarnya blok itu ditambang. Untuk rangkaian Peribadi, ada baiknya menetapkan nombor yang lebih rendah kerana ia membolehkan anda menambang blok dengan cepat, yang mengakibatkan transaksi cepat.
had gas - Nombor ini adalah jumlah gas yang boleh digunakan di setiap blok. Kami tidak mahu rangkaian kami mencapai had, jadi kami telah menetapkan ini.
memperuntukkan - Bahagian ini digunakan untuk memperuntukkan eter ke akaun yang sudah dibuat.

Fail Genesis sudah siap. Sekarang, sudah tiba masanya untuk memulakan Blockchain.

Direktori Data Instantiating

Sebelum memulakan Blockchain, kita harus membuat contoh data. Direktori Data adalah direktori di mana data yang berkaitan dengan Blockchain disimpan. Untuk mewujudkan direktori data, jalankan perintah berikut:

$ geth --datadir ./myDataDir init ./genesis.json

Pada contoh yang berjaya, anda akan melihat output berikut:

Dengan adanya Direktori Data, kita kini dapat memulakan Blockchain.

Memulakan Ethereum Private Blockchain

Untuk memulakan Blockchain, jalankan arahan berikut:

$ geth --datadir ./myDataDir --networkid 1114 console 2 >> Eth.log

Selesai! Ethereum Blockchain peribadi anda sudah siap dan beroperasi.

Dalam perintah di atas, kami menghantar semua log dalam fail berasingan yang dipanggil Eth.log . Geth secara automatik akan membuat fail baru jika tidak dijumpai.

Keluaran kod ini akan kelihatan seperti ini:

Sekarang, kita telah memasuki geth konsol di mana kita boleh menjalankan perintah untuk Blockchain kita.

Membaca Log

Pada bahagian sebelumnya, saya menyatakan bahawa kami menyimpan log dalam fail lain. Di bahagian ini, saya akan memberitahu anda cara membaca log dari fail ini.

Kami akan membaca log dari terminal yang berasingan, jadi mari kita buka terminal baru. Pertama,beralih ke persendirian-ethereum direktori dan kemudian jalankan arahan berikut untuk membaca log:

$ tail -f Eth.log

Anda kini dapat melihat log di terminal. Log ini dikemas kini secara dinamik setiap kali terdapat beberapa aktiviti di Blockchain.

Mengimport akaun ke Rangkaian Peribadi

Anda mungkin ingat bahawa kami membuat dua akaun untuk membuat transaksi. Tetapi, kami tidak menambahkan akaun ini ke rangkaian kami. Jadi, dalam bahagian tutorial Rangkaian Peribadi Ethereum ini, saya akan memberitahu anda cara mengimport akaun.

Semasa kita membuat akaun, semua butiran akaun disimpan di UTC fail dalam direktori yang disebut semasa membuat akaun (jalan: ./datadir/keystore ). Untuk mengimport akaun, kita perlu menyalin fail ini dan tampal di kedai kunci direktori di bawah Direktori Data(jalan: ./myDataDir/keystore )

Itu sahaja! Akaun diimport. Mudah, bukan? Untuk mengesahkan import, kami akan menjalankan perintah berikut di geth konsol.

> akaun et

Ini akan menunjukkan senarai semua akaun yang ada.

Untuk memeriksa baki akaun ini, kami akan menggunakan perintah berikut:

> web3.fromWei (eth.getBalance (), 'ether')

Kami bersedia dengan semua yang diperlukan untuk membuat transaksi. Kenapa tunggu? Mari lakukannya!

Membuat Transaksi

Dalam tutorial Ethereum Private Network ini, kami akan menghantar beberapa eterdari satu akaun ke akaun yang lain.

Sintaks untuk menghantar eter adalah seperti berikut:

> eth.sendTransaction ({from: 'address', to: 'address', value: web3.toWei (jumlah, 'ether')})

Kami akan menghantar 1000 eter dari akaun 1 ke akaun 2 menggunakan arahan berikut:

> eth.sendTransaction ({from: eth.accounts [0], to: eth.accounts [1], nilai: web3.toWei (1000, 'ether')})

Tidak berjaya? Jangan risau. Tidak berfungsi juga untuk saya. Ini kerana akaun dikunci secara lalai dan tidak membenarkan transaksi.

Jadi, pertama, kita perlu membuka kunci akaun pengirim. Ingat frasa laluan yang anda gunakan semasa membuat akaun? Anda mesti menggunakannya kerana anda perlu menggunakannya untuk membuka kunci akaun. Kami akan membuka kunci akaun dengan arahan berikut:

personal.unlockAccount (eth.accounts [0], '')

Sekarang kita akan menghantar eterberjaya:

> eth.sendTransaction ({from: eth.accounts [0], to: eth.accounts [1], nilai: web3.toWei (1000, 'ether')})

Ini mesti mengembalikan ID Transaksi.

Selesai! Anda berjaya membuat transaksi!

Untuk mengesahkan transaksi, mari kita periksa baki di kedua-dua akaun.

> web3.fromWei (eth.getBalance ('0x82c440bba462220c9b54600e584373014706c177'), 'ether')
> web3.fromWei (eth.getBalance ('0x9db5b590fdecc10cdb04b85a3503e94e61b207ca'), 'ether')

Yay! Kita dapat melihat bahawa 1000 eterdihantar dari satu akaun ke akaun yang lain!

Tahniah! Anda telah membuat Rangkaian Peribadi Ethereum dan membuat transaksi. Saya harap tutorial Ethereum Private Network ini dapat memberi maklumat dan membantu anda memahami mengenai Ethereum Private Network. Sekarang, teruskan dan cuba bereksperimen dengan rangkaian Peribadi yang baru dibuat.

Ada soalan untuk kami? Sila hantar di dan kami akan menghubungi anda.

Sekiranya anda ingin belajar Blockchain dan membina karier di Blockchain Technologies, maka periksa kami yang dilengkapi dengan latihan langsung yang dipimpin oleh instruktur dan pengalaman projek kehidupan sebenar. Latihan ini akan membantu anda memahami apa itu Blockchain secara menyeluruh dan membantu anda mencapai penguasaan terhadap subjek ini.