La blockchain ne contient des instructions que dans le sens où elle contient la liste ordonnée des changements du contenu des indexes. Si c’est de ça dont tu parles, Duniter l’exécute déjà.
Mais je pense que tu parles de programmes plus complexes, mais si ce ne sont pas des smart contracts alors c’est quoi ?
Qui exécuterait ce code, quel serait son champ d’action, quelle serait son utilité ?
Soit vous proposez des développements pour utiliser les conditions de lock, et dans ce cas il serait bon de préciser pour quels logiciels clients,
Soit vous racontez n’importe quoi.
Et quoi qu’il en soit, vous avez une manière de communiquer vos idées qui est très inefficace, en témoigne le nombre de questions qui suivent votre post. Mais je pense que c’est délibéré de votre part.
Il suffit d’inscrire le hash IPFS de son code dans le commentaire de transaction?
Puis de passer par un client qui sait interpréter ces commandes et exécuter le code…
Ou en utilisant des conditions sur la libération de TX??
A vrai dire, c’est au choix… ?
Notez que c’est une question, je m’interroge :
c’est moi qui ait le choix…
ou
tout à chacun à le choix…
…pour le repas ? matograine vous prendrez quoi ?
Puis-je vous proposer en entrée du foie gras, suivis d’une pizza ?
Aimez vous les anchois ? je n’aime pas cela…
Et pour terminer ce repas, au dessert, une glace au chocolat ? j’aime aussi le parfum nougat.
C’est vrai que ce repas est un peu gras, bon… c’est un choix.
Il est dit que la musique adoucie les moeurs.
Permettez moi, pour accompagner ce repas, de vous proposez d’écouter cela :
Cette partition nous permettra, en coeur, d’exercer , d’échauffer nos doigts
Nous pouvons envisager un apéro, par exemple au bistrot …
Peut être connaissez vous un caviste bio ?
Ils n’ont de cesse de le répéter, l’abus d’alcool est dangeureux pour la santé,
nous irons donc avec modération, consommer notre boisson.
Ceci étant dit, Monsieur, Madame… je ne sais pas ?
je vous rejoins sur un point :
matograine, s’il vous plaît, ne vous offensez pas,
voyez en ce message une invitation, ce n’est rien d’autre qu’une proposition,
croyez moi, ou pas, ce n’est pas pour être désobligeant, je ne suis pas méchant, peut être un peu… chiant.
matograine , accordons nous pour ce repas ?
PS:
cette réalisation étant d’ores et déjà effective depuis 2 ans [ 2017 ] ayant permis de notifier que l’implémentation de Duniter sur ce point précisément n’étais pas fonctionnelle
[ le Lead développeur de Duniter ayant eu la décence de le reconnaître - il existe un topic sur ce forum ]
du code étant disponible sur le gitlab depuis cette année [ 2019 ]
ceci étant :
il n’y a pas lieu de préciser pour quels logiciels client dès lors la possibilité de l’intégrer dans le langage de son choix, aussi bien coté server que client
Il y a fort a parier qu’un nombre considérables d’inepties ce soit glissés sur ce topic,
passons cet effet " kiss cool " qui sensiblement n’étais, vraiment, pas prévus au programme.
quand bien même…
Aucuns tricks ou de black voodoo, sans heurts ni violence, le sujet est bien de savoir comment executer ce.s code.s, question qui restera en suspend (note que ePyStoleR c’est bien pour le clin d’oeil ^^ je sais également que certains termes te sont familiers [ainsi qu’a d’autres], ils s’adressent essentiellement au lecteur (les moins avertis) , je m’essai à un peu de pédago …)
ePyStoleR
est un programme
prend en paramètre un programme
execute ce programme
Ce.s programme.s
sont enregistrés/stockés dans la bdd G1,
sont accessibles par le biais de la bdd G1
Qui execute ePyStoleR ?
celui qui dispose de ce programme (ePyStoleR)
sur la machine / ordinateur qui dispose de ce programme
Qui execute ce.s programme.s ?
Tous programmes ayant accès à ces instructions / permettant d’executer ces instructions.
ePyStoleR n’est qu’un exemple parmis d’autres :
d’ores et déjà développés ou en cours de développement
d’ores et déjà en cours d’execution sur certaines machines (ordinateurs) ou dans un futur probable.
Concernant le champ d’application
d’ePyStoleR => il execute ce.s programme.s [ tout du moins il place le pointeur d’instruction du CPU sur ces programmes ]
de ce.s programme.s => ce pourquoi ils sont programmés
un nombre certains d’individus n’y voient qu’une succession de chiffres & de lettres
et d’autres, du code => un programme => une suite d’instructions pour une architecture donnée [ en l’occurrence ici, Intel X86_64 (plateforme 64 bits) ]
Cette chaîne de caractère (sous forme hexadécimal) [ cette suite d’instruction / ce programme ] peut être stocker dans la base de données G1, cette dernière (ci-dessus) affiche:
g1
A savoir en ce qui me concerne, il y a 2 programme.s dans la bdd G1.
Ces 2 programmes sont visibles dans les transactions concernées via cette clée :
DuZhZHrbBJQdCMoTQZRxZF4WdHS5Q7NwKFgQPGaBHv42
Dont 1 présent à 2 reprises.
J’ai utilisé les identifiants ( jetestlamonnaielibre / jetestcesium )
pour faire un “backchange” => une transaction pour soi même ( en destinataire les mêmes identifiants ),
cela il y a quelques temps déjà :
block 264138
passé complétement inaperçu, sans que quiconque s’offusque de quoi que ce soit.
ce programme sur mon poste,
[via l’execution d " ePyStoler", que je n’ai pas renommé, il a le nom d’un executable par défaut => a.out ]
lance l’execution d’un shell (/bin/sh) :
G1 permet d’inscrire des données arbitraires dans sa base de données (Looarn à levé un topic à ce sujet il y a 1 an)
Les transactions sont vecteurs de propagation (champs de commentaire & xhx )
c’est un choix de conception depuis la mise en prod
n’importe qui peut écrire de l’assembleur , laissant place à la créativité / l’imagination de ses auteurs
toutes personnes ayant accès à la base de données G1 (à ces programmes), est donc susceptible de pouvoir éxecuter ce code, de son gré ou à son insu
calculer l’espace de stockage disponible au travers d’une seule transaction pour écrire du code, par le biais de XHX & des commentaires, extrapoler en prenant en considération le montant minimum d’unité nécessaire pour effectuer une transaction…et ouvrir grand ses chakras
il n’y a rien d’anxiogène pour autant (en tous cas, pas de ma part) => Keep Calm
Enfin … quand :
jetestlamonnaielibre
jetestcesium
je rends la monnaie
j’écris du code open source
vérifiable par tous !
partagé auprès de tous
PS : j’aurais souhaité trouver une telle clée que je n’y serais jamais parvenu…
il va de soit que le code concerné ne sera bien entendu pas communiqué (disons que je ne suis pas certains que ce soit à mettre entre les mains de tous le monde)
pour certains techniciens, à la lecture de ce poste, ils n’auront sensiblement aucun mal à comprendre le sujet
en ce qui me concerne, si toutefois une question pertinente se manifeste, pas de soucis pour y répondre, le cas échéant => merci de passez votre chemin
Pourquoi vouloir stocker des programmes de quelques octets dans la blockchain ? Un programme de cette taille peut-il avoir une utilité pratique ? Y a-t-il tant de programmes de cette taille qu’on préfère stocker chez soi un client BMA et des numéros de blocs plutôt que ces programmes ?
Comment savoir si un commentaire est bien un programme, ou seulement une suite de caractères aléatoires ? Il faut un magic number ou une référence externe.
Bref, pour mettre des programmes en blockchain il me semble plus efficace de stocker une multiaddr menant vers un programme (notamment via IPFS).