Alphanet Faucet Wallet을 원격으로 활성화 (tezos-client없이)
2 대답
- 투표
-
- 2019-03-03
예,sotez로 가능합니다. 0.2.11 <에서 방금 수정 된 활성화 기능에 대한 버그가 처음에있었습니다./a>. 다음과 같은 작업을 수행하여 계정을 활성화하고 키를 생성 할 수 있습니다.
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);
예제에서 볼 수있는 것은 니모닉이 문자열로 입력되고 암호가 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
eztz 라이브러리를 사용하여이 작업을 수행 할 수 있습니다. 확인하려는 관련 명령은 다음과 같습니다.
//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); });
원격tezrpc Alphanet 노드를 쿼리하고 키를 구성하고 로컬에서 작업을 위조하고 활성화 작업을 노드에 삽입합니다.
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.
어제 Alphanet 지갑에서 제공 한 JSON이 먼저
activate account
를 사용하여 활성화되어야한다는 것을 알게되었습니다../tezos-client activate account myRandomAlias with tzWhAtEvEr.json
(Fredcy에게 감사합니다!). 또한 개발자 문서 https://tezos.gitlab.io/master/introduction/howtouse.html#get-free-tez .tezos-client없이이 작업을 수행하는 방법이 있습니까? 원격 공급자와 함께eztz 또는 sotez와 같은 라이브러리를 사용하여 수행 할 수 있습니까? sotez에는 "Activate"메서드가 있지만 수도꼭지 JSON에서 추출한 값의 여러 조합을 시도했지만 아무 소용이 없습니다. https://github.com/AndrewKishino/sotez/wiki/Documentation#activate
ZuluRepublic이 처음에 Tezos를 제품 제품군에 구현하기 위해 Tezos를 참여 시켰을 때 자체 노드를 호스팅하지 않고도이 작업을 수행 할 수 있다는 말을 들었지만 지금은 이것이 사실이 아닌지 궁금합니다.
편집 : 자세히 설명하기 위해,제 의도는 키 생성,저장,트랜잭션 구축 및 로컬 서명 (오프라인 방법)을 처리하고 원격 공급자를 사용하여 블록,트랜잭션,잔액과 같은 공개 데이터를 가져오고 서명 된 트랜잭션을 브로드 캐스트하는 것입니다.
저는 토큰을 보낼 주소를 요청하는 수도꼭지에 익숙합니다. 내가 제어하는 지갑에 주소를 입력하면 코드베이스에서 테지를 보내고받는 실험을 시작할 수 있습니다. 하지만이 수도꼭지에서는tezos-client를 사용하여 활성화 할 수 있도록 자체 노드가 필요한 것 같습니다.