Activation d'un portefeuille de robinet alphanet à distance (sans Tezos-Client)
2 réponses
- votes
-
- 2019-03-03
oui c'estpossible avec sotez. Il y a d'abord été unbug avec lafonction Activate qui vient defixer dans 0.2.11 . Vouspouvezfaire quelque chose comme ce qui suitpour activer un compteet générer les clés:
import { rpc, crypto } from 'sotez'; // tz1eQV2GqDTY7dTucnjzNgvB5nP4H5c7Xr5m.json const accountJSON = { "mnemonic": [ "raw", "peace", "visual", "boil", "prefer", "rebel", "anchor", "right", "elegant", "side", "gossip", "enroll", "force", "salmon", "between" ], "secret": "0c5fa9a3d707acc816d23940efdef01aa071bdc6", "amount": "12358548903", "pkh": "tz1eQV2GqDTY7dTucnjzNgvB5nP4H5c7Xr5m", "password": "wc0W7jn3Vf", "email": "[email protected]" }; const activateAccount = async (accountJSON) => { let keys; try { const activatedOperation = await rpc.activate(accountJSON.pkh, accountJSON.secret); await rpc.awaitOperation(activatedOperation.hash); keys = await crypto.generateKeys(accountJSON.mnemonic.join(' '), `${accountJSON.email}${accountJSON.password}`); console.log(keys); } catch (e) { console.log(e); } }; activateAccount(accountJSON);
Certaines choses que vouspouvez voir àpartir de l'exempleest que le Mnemonicestentréen tant que chaîneet laphrase secrète correspond aux valeurs de courrier électroniqueet demot depasse concaténées dufichier JSON.
Yes this is possible with sotez. There initially was a bug with the activate function which was just fixed in 0.2.11. You can do something like the following to activate an account as well as generate the keys:
import { rpc, crypto } from 'sotez'; // tz1eQV2GqDTY7dTucnjzNgvB5nP4H5c7Xr5m.json const accountJSON = { "mnemonic": [ "raw", "peace", "visual", "boil", "prefer", "rebel", "anchor", "right", "elegant", "side", "gossip", "enroll", "force", "salmon", "between" ], "secret": "0c5fa9a3d707acc816d23940efdef01aa071bdc6", "amount": "12358548903", "pkh": "tz1eQV2GqDTY7dTucnjzNgvB5nP4H5c7Xr5m", "password": "wc0W7jn3Vf", "email": "[email protected]" }; const activateAccount = async (accountJSON) => { let keys; try { const activatedOperation = await rpc.activate(accountJSON.pkh, accountJSON.secret); await rpc.awaitOperation(activatedOperation.hash); keys = await crypto.generateKeys(accountJSON.mnemonic.join(' '), `${accountJSON.email}${accountJSON.password}`); console.log(keys); } catch (e) { console.log(e); } }; activateAccount(accountJSON);
Some things you can see from the example is that the mnemonic is entered as a string and the passphrase is the concatenated email and password values from the JSON file.
-
- 2019-03-03
Vouspouvez lefaire à l'aide de labibliothèque Eztz. Voici les commandespertinentes que vous souhaitez regarder:
//Point to alphanet node eztz.node.setProvider("https://alphanet.tezrpc.me"); //From https://faucet.tzalpha.net/ var faucet = { "mnemonic": [ "viable", "decline", "spend", "excess", "hour", "panel", "decade", "sniff", "blame", "crane", "enact", "clever", "rival", "bundle", "silk" ], "secret": "b318178ddad24f1f9f789aecdbe62a4f4723f47f", "amount": "19080702922", "pkh": "tz1XfgzFAdNijPdANxxJ69wYUdHfYrWr4bqS", "password": "Omxz6rDlHz", "email": "[email protected]" }; //Generate keys var keys = eztz.crypto.generateKeys(faucet.mnemonic.join(" "), faucet.email + faucet.password); if (keys.pkh != faucet.pkh) throw "Invalid"; //Activate eztz.rpc.activate(faucet.pkh, faucet.secret).then(function(d){ console.log(d); });
Ceciintervient lenœud Alphanet TezRPC distant,construit lestoucheset les opérationsforges localementet injecte l'opération d'activation dans lenœud.
You can do this using the eztz library. Here are the relevant commands you want to look at:
//Point to alphanet node eztz.node.setProvider("https://alphanet.tezrpc.me"); //From https://faucet.tzalpha.net/ var faucet = { "mnemonic": [ "viable", "decline", "spend", "excess", "hour", "panel", "decade", "sniff", "blame", "crane", "enact", "clever", "rival", "bundle", "silk" ], "secret": "b318178ddad24f1f9f789aecdbe62a4f4723f47f", "amount": "19080702922", "pkh": "tz1XfgzFAdNijPdANxxJ69wYUdHfYrWr4bqS", "password": "Omxz6rDlHz", "email": "[email protected]" }; //Generate keys var keys = eztz.crypto.generateKeys(faucet.mnemonic.join(" "), faucet.email + faucet.password); if (keys.pkh != faucet.pkh) throw "Invalid"; //Activate eztz.rpc.activate(faucet.pkh, faucet.secret).then(function(d){ console.log(d); });
This queries the remote tezrpc Alphanet node, constructs keys and forges operations locally and injects the activation operation into the node.
hier J'ai appris que le JSONfourni de l'alphanet Wallet doit d'abord être activé à l'aide de
Activer le compte
E.G../Tezos-Client Activer le compte MyRandomalias avectzwhatever.json
(mercifredcy!),quim'a amené àtrouver cette section dans la documentation du développeur https://tezos.gitlab.io/master/introduction/howthouse.html#get-free-tez .Y a-t-il unmoyen d'effectuer cette action sans Tezos-Client,maisplutôt à l'aide d'unebibliothèquetelle que Eztz ou Soterez avec unfournisseur distant? Je vois que Sotez a uneméthode "activate",maisj'aiessayéplusieurs combinaisons de valeursextraites du robinet JSONen vain. https://github.com/andrewkishino/sotez/wiki/documentation#activate
Lorsque ZulurePublic ainitialementengagé destezos sur lamiseen œuvre de Tezos dansnotre suite deproduits,onnous a dit que celapourraitprobablement être atteint sans organisernotreproprenœud,maismaintenantje me demande si cen'estpas vrai?
EDIT: Pour élaborer,monintentionest degérer lagénération de clé,le stockage,lebâtiment de latransactionet la signature desméthodes locales (méthodes hors ligne)et d'utiliser unfournisseur distant uniquementpour rechercher des donnéespubliquestelles que desblocs,destransactions,des soldeset destransactions signées de diffusion.
Je suis habitué aux robinets qui demandent une adresse àenvoyer desjetons à,oùj'entrerais l'adresse à unportefeuille,je contrôle,puisje peux commencer àexpérimenter avec l'envoiet recevoir destextes dansmon codeBase. Mais avec ce robinet,il semble queje voudrais avoirmonproprenœud afin queje puisse utiliser Tezos-Clientpour l'activer.