Programmazione in radiante
Radiant utilizza un linguaggio di programmazione chiamato script ereditato da Bitcoin , ma aggiungendo funzionalità avanzate che gli consentono di essere Turing completo.
Per capirlo bene è necessario fare un salto nel tempo agli inizi di Bitcoin .
Script Bitcoin
Bitcoin aveva bisogno di un linguaggio semplice per gestire le transazioni e Satoshi ha deciso di utilizzare un linguaggio basato su stack, simile a Forth (1970), che si chiama Bitcoin Script o solo Script .
È un linguaggio semplice che non è Turing completo, il che significa che manca di alcune funzioni logiche, compresi i loop. Ciò è stato fatto per garantire che nessuno script in Bitcoin causi grandi quantità di potenza computazionale o deadlock a causa di un errore di programmazione.
Lo script viene utilizzato quasi esclusivamente per bloccare e sbloccare i bitcoin, poiché non è possibile creare applicazioni o eseguire programmi con esso.
OP_Codici
Gli opcode sono semplici comandi del linguaggio script e ognuno di essi ha funzioni ben precise, permettendo di interagire con il contenuto della blockchain in modo preciso.
Questi sono i codici operativi che possono essere utilizzati in Bitcoin
Nell'immagine seguente puoi vedere come funziona il linguaggio di script Bitcoin con OP_Codes in uno script di convalida. Il flusso di esecuzione è da sinistra a destra e l'operatore a destra esegue un'azione a sinistra in tal caso.
6 2 ADD = 8
8 8 EQUAL = TRUE
OP_Codici in radiante
Radiant aggiunge al linguaggio di script una serie di funzionalità che gli permettono di essere Turing Complete , basato sull'induzione matematica. Questo viene aggiunto nei seguenti OP_Codes avanzati.
OP_PUSHINPUTREF : La chiave di tutto
Uno dei grossi problemi della gestione di UTXOS con tag, come con gli attuali ordinali, è conoscere la cronologia fino all'origine. Questo può essere fatto in due semplici modi.
1/ Con uno script esterno che verifica l'origine e consente l'output (oracolo).
2/ Aggiungere tutta la storia nello stesso UTXO, facendolo crescere continuamente.
In Radiant questo viene risolto aggiungendo un riferimento univoco e globale in queste transazioni, consentendo di convalidare l'origine in modo efficiente senza la necessità di oracoli o aumentando la dimensione dell'UTXO in modo costante.
RadiantScript
Una delle parti più complesse della programmazione con OP_Codes è il loro linguaggio stack.
Per risolvere questo problema, stiamo lavorando su RadiantScript , che sarà il primo interprete di programmazione a gestire il potenziale di Radiant con i suoi OP_Codes con un linguaggio di programmazione di alto livello per contratti intelligenti in Radiant .
La sua sintassi è basata sul linguaggio del contratto intelligente Solidity di Ethereum , ma la sua funzionalità è molto diversa poiché i contratti intelligenti in Radiant differiscono notevolmente dai contratti intelligenti in Ethereum.
Attualmente è in fase di test ed è in fase di documentazione della programmazione in quanto contiene nuovi OP_Codes .
Il futuro
Quando Radiant è stato concepito, è stato fatto con l'idea di lavorare dal primo giorno e non aspettare mesi o anni per aggiungere sviluppi alla catena. In questo momento è già possibile utilizzare tutte le sue capacità, ma la parte più complicata è avere un software che possa programmare nei nuovi OP_Codes e questo richiede tempo e sviluppo.
Ma il futuro è luminoso, perché questo nuovo codice consentirà di competere con le grandi catene come Ethereum, Cardano o Solana in termini di potenziale.
(Questo sarà uno dei tanti articoli incentrati sul lato tecnico di Radiant , che è dove risiede il suo pieno potenziale.)
Bibliografia
- 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

![Che cos'è un elenco collegato, comunque? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































