Rumah > Artikel > pembangunan bahagian belakang > Bolehkah blockchain hanya menggunakan bahasa Go?
Tidak. Blockchain adalah idea pengaturcaraan, dan pada dasarnya ia boleh dilaksanakan menggunakan mana-mana bahasa pengaturcaraan Contohnya, Solidity, C++, C#, Java, javascript, dan Go semuanya boleh merealisasikan pembangunan teknologi blockchain yang melibatkan banyak aspek bahasa pengaturcaraan hanyalah satu cara untuk mempersembahkan konsep reka bentuk dalam kod dan membuat produk untuk berkhidmat kepada pengguna.
Persekitaran pengendalian tutorial ini: sistem Windows 7, GO versi 1.18, komputer Dell G3.
Blockchain ialah idea pengaturcaraan yang boleh, pada dasarnya, dilaksanakan menggunakan mana-mana bahasa pengaturcaraan. Contohnya: C++, Java, javascript, python, dan Go semuanya boleh digunakan untuk membangunkan rantaian blok.
Teknologi Blockchain merangkumi pelbagai subjek, termasuk: teknologi komputer, kriptografi, ekonomi dan banyak disiplin lain. Bahasa pengaturcaraan hanyalah satu cara untuk mempersembahkan konsep reka bentuk dalam kod dan membuat produk untuk berkhidmat kepada pengguna.
Tiga hala tuju utama pembangunan blockchain
Secara teorinya, anda boleh menggunakan mana-mana bahasa pengaturcaraan untuk mempelajari dan menulis projek blockchain. Termasuk: C++, C#, Java, Python, Go, Javascript, dsb., yang kesemuanya boleh membangunkan projek blockchain.
Sebagai contoh, walaupun sistem Bitcoin dibangunkan menggunakan C++, apabila kita mempelajari prinsip Bitcoin, kita boleh menggunakan kod sumber Bitcoin dalam mana-mana bahasa seperti Java, Python dan Go. Walau bagaimanapun, arah pembangunan yang berbeza mempunyai bahasa pengaturcaraan pilihan yang berbeza.
Pembangunan Blockchain pada masa ini mempunyai tiga hala tuju utama:
Teknologi asas Blockchain
Untuk teknologi asas, keperluan keselamatan dan prestasi adalah tinggi. Pilihan pertama: C++, Go. Bahasa pembangunan rantaian awam biasa adalah seperti berikut:
Aplikasi lapisan atas rantaian: DAPP
Untuk Aplikasi lapisan atas, melibatkan pembangunan kontrak pintar, pembangunan hadapan dan belakang serta pengetahuan lain yang berkaitan. Hanya pembangunan pesat dan lelaran pantas boleh merebut peluang pasaran Pilihan pertama: Javascript, berdasarkan Ethereum dan pilihan pertama Solidty.
Aplikasi berkaitan token
Untuk aplikasi berkaitan token: fokus pada logik reka bentuk, tiada pengesyoran khas tentang bahasa.
Tujuh bahasa pengaturcaraan utama
Pada masa ini, kebanyakan projek blockchain terutamanya menggunakan tujuh bahasa pengaturcaraan utama berikut:
1. Solidity
Solidity, bahasa pengaturcaraan mudah baharu yang popular di kalangan pembangun Ethereum kerana ia digunakan untuk membangunkan Ethereum Bahasa kontrak pintar. Solidity ialah bahasa pengaturcaraan lengkap Turing yang berorientasikan kontrak dengan anggaran asas pembangun melebihi 200,000.
Dengan Ethereum mendahului dalam kontrak pintar, banyak platform blockchain alternatif memastikan ia serasi dengan Solidity (atau ERC-20), membolehkan kontrak pintar dilancarkan daripada Ethereum dengan Mudah dialihkan ke rangkaian blockchain baharu.
Ethereum, secara teknikalnya Ethereum sebagai "komputer dunia" yang digunakan sebagai Mesin Maya Ethereum (EVM), terdiri daripada berbilang bahasa, termasuk C++, Python, Ruby, Go dan Java. JavaScript berfungsi sebagai tulang belakang Ethereum kerana ia bertindak sebagai persekitaran masa jalan untuk pelaksanaan skrip.
2. Java
Java, bahasa pengaturcaraan tujuan umum berorientasikan objek dan berasaskan kelas, direka sedemikian rupa sehingga Java hampir tiada kebergantungan pelaksanaan. Sejak dilancarkan pada tahun 1995, Java telah menjadi salah satu daripada tiga bahasa pengaturcaraan teratas dan mempunyai lebih 9 juta pembangun. Rangkaian blockchain teras NEM ditulis secara eksklusif dalam Java (tidak lama lagi menjadi C++).
3. C#
C#, bahasa berorientasikan objek yang membolehkan pembangun mempunyai sekurang-kurangnya 2 juta pembangun di seluruh dunia Membina aplikasi yang mantap pada Rangka Kerja .NET. C# telah dibangunkan pada tahun 2000. Sejak penubuhannya, ia telah menjadi bahasa pengaturcaraan yang popular untuk membina kod merentas platform yang berkuasa yang berjalan pada berbilang sistem pengendalian seperti Windows, Mac, Linux dan Android. Projek rantaian blok yang ditulis dalam C# termasuk:
Stratis ialah penyedia perkhidmatan rantaian blok yang dikuasakan oleh Microsoft yang membolehkan perusahaan membina sistem rantaian blok peribadi mereka sendiri.
NEO ditulis dalam C#, tetapi ia juga menyokong pelbagai bahasa pengaturcaraan seperti Javascript, Java, Python dan Go.
4 Javascript, selalunya disingkatkan kepada JS, ialah bahasa berbilang paradigma yang menyokong gaya pengaturcaraan dipacu peristiwa, berfungsi dan arahan (termasuk berorientasikan objek dan berasaskan prototaip). Ia adalah salah satu bahasa pengaturcaraan paling popular di dunia yang digunakan oleh sekurang-kurangnya 9.7 juta pembangun di seluruh dunia. Lisk’s SideChain Development Kit (SDK) ditulis dalam JavaScript dan membenarkan pembangun membina aplikasi pada platform blockchain Lisk. 5. SQL SQL, Structured Query Language atau "Sequel" ialah bahasa pengaturcaraan yang dibangunkan oleh IBM untuk menyimpan, bertanya dan memanipulasi data. Pada masa ini dianggarkan terdapat 7 juta pengguna menggunakan SQL. Pangkalan data popular seperti MySQL, PostgreSQL, SQL Server, DB2, Oracle, dll. menggunakan SQL untuk membangunkan aplikasi. Projek rantaian blok yang merangkumi SQL ialah: Aergo, penyelesaian terbenam gred perusahaan yang dibangunkan oleh Blocko berdasarkan teknologi Coinstack proprietarinya yang menggunakan kontrak pintar SQL. Aergo Chain mempunyai platform kontrak pintar berasaskan SQL yang membolehkan entiti perusahaan mencipta dan melaksanakan kontrak pintar lanjutan dalam persekitaran perniagaan komersial. 6. C++ C++, bahasa pengaturcaraan tujuan umum dengan anggaran 4.4 juta pembangun, kelebihan terbesarnya ialah keupayaannya untuk menskalakan aplikasi intensif sumber dan membuat mereka Keupayaannya untuk berjalan dengan lancar menjadikannya bahasa pengaturcaraan permainan 3D yang sangat popular. Projek rantaian sekatan menggunakan C++ termasuk: EOS C++ ialah bahasa pengaturcaraan utama untuk EOS kerana fleksibilitinya untuk menjalankan sejumlah besar aplikasi pada rantaian blok. EOS juga menyokong mana-mana bahasa yang disusun ke WebAssembly (WASM). bitcoin, rangkaian teras Bitcoin diprogramkan dalam C++. 7 Golang Go, juga dikenali sebagai Golang, ialah tujuan umum sumber terbuka yang dibangunkan. oleh Bahasa Pengaturcaraan Google, yang pada asalnya direka untuk menyelesaikan pengkomputeran teragih, ialah bahasa yang baru muncul dalam bidang pengkomputeran awan. Sintaks bahasa Go adalah serupa dengan bahasa C Ciri-cirinya ialah: kelajuan penyusunan pantas, kecekapan pelaksanaan yang tinggi, pengaturcaraan rangkaian yang mesra, konkurensi tinggi dan merentas platform. Go mudah dipelajari dan digunakan. Ia boleh memenuhi keperluan pembangunan industri blockchain seperti "kecekapan pelaksanaan yang tinggi, konkurensi tinggi, platform silang dan keperluan pembangunan rangkaian yang tinggi" dan ciri-ciri lain. Pembangunan asas blockchain adalah berdasarkan C++ pada masa awal Kini beberapa projek mula menggunakan pembangunan bahasa Go. Projek yang ditulis dalam Go termasuk: Kain HyperLedger: Kebanyakan kontrak pintar yang dibina menggunakan HyperLedger Fabrics ditulis dalam Go. Mengapa bahasa Go boleh menjadi bahasa pembangunan arus perdana untuk blockchain? Oleh kerana pembangunan sistem blockchain melibatkan kuasa pengkomputeran dan aplikasi, bahasa C++ ini secara semula jadi boleh menyelesaikan masalah, tetapi kos pembangunan yang menyusahkan adalah terlalu tinggi , seperti Java, Python, dsb. Walaupun ia boleh mengurangkan kos pembangunan, prestasi dan kuasa pengkomputeran blok tidak dapat bersaing Oleh itu, apabila membangunkan teknologi blockchain, banyak syarikat akan memilih bahasa Go, yang mempunyai kos pembangunan yang rendah dan prestasi pembangunan objektif , sebagai pilihan pertama mereka. Bahasa Go sangat cekap dalam membangunkan rantaian blok dan mempunyai kelebihan yang jelas, yang ditunjukkan terutamanya dalam aspek berikut: 1) Ia boleh disusun terus ke dalam kod mesin dan tidak bergantung pada Untuk perpustakaan lain, versi glibc mempunyai keperluan tertentu, dan penggunaan diselesaikan dengan hanya membuang fail ke dalamnya. 2) Bahasa yang ditaip secara statik, tetapi dengan perasaan bahasa yang dinamik. Bahasa yang ditaip secara statik bermakna kebanyakan masalah tersembunyi boleh disemak semasa penyusunan yang boleh digunakan Tulis Ia sangat cekap. 3) Tahap bahasa menyokong konkurensi Ini ialah ciri Go, yang sememangnya menyokong konkurensi. Go menyokong concurrency dalam gennya Ia boleh menggunakan sepenuhnya berbilang teras dan memudahkan penggunaan concurrency. 4) Masa jalan terbina dalam menyokong pengumpulan sampah, yang merupakan salah satu ciri bahasa dinamik Walaupun GC tidak sempurna pada masa ini, ia sudah cukup untuk menghadapi kebanyakan situasi yang boleh kita hadapi, terutamanya GC selepas 1. 5) Ianya ringkas dan mudah dipelajari Pengarang bahasa Go semuanya mempunyai gen C, jadi Go secara semula jadi mempunyai gen C Kemudian Go adalah 25, tetapi kebolehan ekspresi sangat berkuasa dan menyokong hampir semua daripada anda. Ciri yang dilihat dalam bahasa lain: pewarisan, beban berlebihan, objek, dsb. 6) Pustaka standard kaya Go pada masa ini mempunyai sejumlah besar perpustakaan terbina dalam, terutamanya perpustakaan rangkaian sangat berkuasa. 7) Alat berkuasa terbina dalam, bahasa Go mempunyai banyak rangkaian alat terbina dalam, alatan gofmt, pemformatan kod automatik, yang boleh menjadikan semakan pasukan begitu mudah Format kodnya adalah sama sukar untuk memikirkan sesuatu yang berbeza. 8) Kompilasi merentas platform Jika kod Go yang anda tulis tidak mengandungi cgo, maka anda boleh menyusun aplikasi Linux pada sistem tetingkap. Go merujuk kod plan9, iaitu maklumat yang tidak bergantung pada sistem. 9) Sokongan C terbenam, Go juga boleh terus menyertakan kod C, menggunakan perpustakaan C kaya sedia ada. [Cadangan berkaitan: Pergi tutorial video, Pengajaran pengaturcaraan]
Atas ialah kandungan terperinci Bolehkah blockchain hanya menggunakan bahasa Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!