Pemrograman di Radiant

Mar 10 2023
Radiant menggunakan bahasa pemrograman yang disebut skrip yang diwarisi dari Bitcoin, tetapi menambahkan fungsionalitas lanjutan yang memungkinkannya menjadi lengkap Turing. Untuk memahaminya dengan baik, perlu dilakukan lompatan waktu ke awal mula Bitcoin.

Radiant menggunakan bahasa pemrograman yang disebut skrip yang diwarisi dari Bitcoin , tetapi menambahkan fungsionalitas lanjutan yang memungkinkannya menjadi lengkap Turing.

Untuk memahaminya dengan baik, perlu dilakukan lompatan waktu ke awal Bitcoin .

Skrip Bitcoin

Bitcoin membutuhkan bahasa sederhana untuk mengelola transaksi dan Satoshi memutuskan untuk menggunakan bahasa berbasis stack, mirip dengan Forth (1970), yang disebut Bitcoin Script atau hanya Script .

Struktur transaksi

Ini adalah bahasa sederhana yang tidak lengkap Turing, yang berarti tidak memiliki fungsi logis tertentu, termasuk loop. Ini dilakukan untuk memastikan bahwa tidak ada skrip dalam Bitcoin yang akan menyebabkan daya komputasi atau kebuntuan dalam jumlah besar karena kesalahan pemrograman.

Skrip digunakan hampir secara eksklusif untuk mengunci dan membuka kunci bitcoin, karena Anda tidak dapat membuat aplikasi atau menjalankan program dengannya.

OP_DUP OP_HASH160 OP_EQUALVERIFY OP_CHECKSIG

OP_Codes

Opcode adalah perintah sederhana dari bahasa skrip dan masing-masing memiliki fungsi yang sangat spesifik, memungkinkan untuk berinteraksi dengan konten blockchain dengan cara yang tepat.

Ini adalah opcode yang dapat digunakan dalam Bitcoin

https://github.com/bitcoin/bitcoin/blob/24.x/src/script/script.h

Pada gambar berikut, Anda dapat melihat cara kerja bahasa skrip Bitcoin dengan OP_Codes dalam skrip validasi. Alur eksekusi dari kiri ke kanan dan operator di sebelah kanan melakukan tindakan di sebelah kiri jika demikian.

6 2 ADD = 8
8 8 EQUAL = TRUE

      
                

OP_Codes di Radiant

Radiant menambah bahasa skrip serangkaian fungsi yang memungkinkannya Turing Lengkap , berdasarkan induksi matematika. Ini ditambahkan dalam OP_Codes lanjutan berikut.

https://github.com/RadiantBlockchain/radiant-node/blob/master/src/script/script.h

OP_PUSHINPUTREF : Kunci untuk segalanya

Salah satu masalah besar dalam mengelola UTXOS yang diberi tag, seperti ordinal saat ini, adalah mengetahui sejarah kembali ke asalnya. Ini dapat dilakukan dengan dua cara sederhana.

1/ Dengan skrip eksternal yang memverifikasi asal dan memungkinkan keluaran (Oracle).
2/ Menambahkan semua riwayat di UTXO yang sama, membuatnya terus berkembang.

Di Radiant, ini diselesaikan dengan menambahkan referensi unik dan global dalam transaksi ini, memungkinkan untuk memvalidasi asal dengan cara yang efisien tanpa memerlukan oracle atau meningkatkan ukuran UTXO secara konstan.

RadiantScript

Salah satu bagian paling kompleks dari pemrograman dengan OP_Codes adalah bahasa tumpukannya.

Untuk mengatasi ini, kami sedang mengerjakan RadiantScript , yang akan menjadi penerjemah pemrograman pertama yang mengelola potensi Radiant dengan OP_Codes -nya dengan bahasa pemrograman tingkat tinggi untuk kontrak pintar di Radiant .

Sintaksnya didasarkan pada bahasa kontrak pintar Solidity Ethereum , tetapi fungsinya sangat berbeda karena kontrak pintar di Radiant sangat berbeda dari kontrak pintar di Ethereum.

Saat ini sedang dalam tahap pengujian dan sedang dalam proses mendokumentasikan pemrograman karena berisi OP_Codes baru .

Masa depan

Saat Radiant dibuat, hal itu dilakukan dengan ide untuk bekerja sejak Hari 1 dan tidak menunggu berbulan-bulan atau bertahun-tahun untuk menambahkan perkembangan pada rantai. Saat ini sudah memungkinkan untuk menggunakan semua kemampuannya, tetapi bagian yang paling rumit adalah memiliki perangkat lunak yang dapat memprogram dalam OP_Codes baru dan ini membutuhkan waktu dan pengembangan.

Tetapi masa depan cerah, karena kode baru ini memungkinkan untuk bersaing dengan rantai besar seperti Ethereum, Cardano atau Solana dalam hal potensi.

(Ini akan menjadi salah satu dari banyak artikel yang berfokus pada sisi teknis Radiant , di mana potensi penuhnya berada.)

Bibliografi

  • https://radiant4people.com/tech/radiant-system-design
  • https://www.researchgate.net/publication/335146032_An_Analysis_of_Non-standard_Transactions
  • https://github.com/bitcoinbook/bitcoinbook
  • https://github.com/RadiantBlockchain-Community/radiantscript