Activating a Alphanet Faucet Wallet Remotely (without tezos-client)
Yesterday I learned that the JSON provided from the Alphanet wallet must first be activated using activate account
e.g. ./tezos-client activate account myRandomAlias with tzWhAtEvEr.json
(thanks Fredcy!) which also led me to find this section in the developer documentation https://tezos.gitlab.io/master/introduction/howtouse.html#get-free-tez.
Is there a way to perform this action without tezos-client, but rather by using a library such as eztz or sotez with a remote provider? I see that sotez does have a "Activate" method, but I have tried several combinations of values extracted from the faucet JSON to no avail. https://github.com/AndrewKishino/sotez/wiki/Documentation#activate
When ZuluRepublic initially engaged Tezos about implementing Tezos into our suite of products, we were told that this could likely be achieved without hosting our own node, but now I am wondering if that isn't true?
Edit:
To elaborate, my intention is to handle key generation, storage, transaction building, and signing local (offline methods) and using a remote provider only to fetch public data like blocks, transactions, balances, and to broadcast signed transactions.
I am accustomed to faucets that ask for an address to send tokens to, where I would enter the address to a wallet I control, and then I can begin experimenting with sending and receiving tezzies in my codebase. But with this faucet, it seems like I would need to have my own node so I can use tezos-client to activate it.
eztz alphanet
New contributor
add a comment |
Yesterday I learned that the JSON provided from the Alphanet wallet must first be activated using activate account
e.g. ./tezos-client activate account myRandomAlias with tzWhAtEvEr.json
(thanks Fredcy!) which also led me to find this section in the developer documentation https://tezos.gitlab.io/master/introduction/howtouse.html#get-free-tez.
Is there a way to perform this action without tezos-client, but rather by using a library such as eztz or sotez with a remote provider? I see that sotez does have a "Activate" method, but I have tried several combinations of values extracted from the faucet JSON to no avail. https://github.com/AndrewKishino/sotez/wiki/Documentation#activate
When ZuluRepublic initially engaged Tezos about implementing Tezos into our suite of products, we were told that this could likely be achieved without hosting our own node, but now I am wondering if that isn't true?
Edit:
To elaborate, my intention is to handle key generation, storage, transaction building, and signing local (offline methods) and using a remote provider only to fetch public data like blocks, transactions, balances, and to broadcast signed transactions.
I am accustomed to faucets that ask for an address to send tokens to, where I would enter the address to a wallet I control, and then I can begin experimenting with sending and receiving tezzies in my codebase. But with this faucet, it seems like I would need to have my own node so I can use tezos-client to activate it.
eztz alphanet
New contributor
add a comment |
Yesterday I learned that the JSON provided from the Alphanet wallet must first be activated using activate account
e.g. ./tezos-client activate account myRandomAlias with tzWhAtEvEr.json
(thanks Fredcy!) which also led me to find this section in the developer documentation https://tezos.gitlab.io/master/introduction/howtouse.html#get-free-tez.
Is there a way to perform this action without tezos-client, but rather by using a library such as eztz or sotez with a remote provider? I see that sotez does have a "Activate" method, but I have tried several combinations of values extracted from the faucet JSON to no avail. https://github.com/AndrewKishino/sotez/wiki/Documentation#activate
When ZuluRepublic initially engaged Tezos about implementing Tezos into our suite of products, we were told that this could likely be achieved without hosting our own node, but now I am wondering if that isn't true?
Edit:
To elaborate, my intention is to handle key generation, storage, transaction building, and signing local (offline methods) and using a remote provider only to fetch public data like blocks, transactions, balances, and to broadcast signed transactions.
I am accustomed to faucets that ask for an address to send tokens to, where I would enter the address to a wallet I control, and then I can begin experimenting with sending and receiving tezzies in my codebase. But with this faucet, it seems like I would need to have my own node so I can use tezos-client to activate it.
eztz alphanet
New contributor
Yesterday I learned that the JSON provided from the Alphanet wallet must first be activated using activate account
e.g. ./tezos-client activate account myRandomAlias with tzWhAtEvEr.json
(thanks Fredcy!) which also led me to find this section in the developer documentation https://tezos.gitlab.io/master/introduction/howtouse.html#get-free-tez.
Is there a way to perform this action without tezos-client, but rather by using a library such as eztz or sotez with a remote provider? I see that sotez does have a "Activate" method, but I have tried several combinations of values extracted from the faucet JSON to no avail. https://github.com/AndrewKishino/sotez/wiki/Documentation#activate
When ZuluRepublic initially engaged Tezos about implementing Tezos into our suite of products, we were told that this could likely be achieved without hosting our own node, but now I am wondering if that isn't true?
Edit:
To elaborate, my intention is to handle key generation, storage, transaction building, and signing local (offline methods) and using a remote provider only to fetch public data like blocks, transactions, balances, and to broadcast signed transactions.
I am accustomed to faucets that ask for an address to send tokens to, where I would enter the address to a wallet I control, and then I can begin experimenting with sending and receiving tezzies in my codebase. But with this faucet, it seems like I would need to have my own node so I can use tezos-client to activate it.
eztz alphanet
eztz alphanet
New contributor
New contributor
edited 11 hours ago
Michael Rodriguez
New contributor
asked 12 hours ago
Michael RodriguezMichael Rodriguez
325
325
New contributor
New contributor
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
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": "gfjilgzu.trfhzzzk@tezos.example.org"
};
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.
New contributor
Brilliant! It seems I was doing it correctly before, but I had sotez 0.2.9. Thank you!
– Michael Rodriguez
10 hours ago
add a comment |
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": "xktvhnlk.vnzorwib@tezos.example.org"
};
//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.
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "698"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
noCode: true, onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Michael Rodriguez is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftezos.stackexchange.com%2fquestions%2f664%2factivating-a-alphanet-faucet-wallet-remotely-without-tezos-client%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
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": "gfjilgzu.trfhzzzk@tezos.example.org"
};
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.
New contributor
Brilliant! It seems I was doing it correctly before, but I had sotez 0.2.9. Thank you!
– Michael Rodriguez
10 hours ago
add a comment |
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": "gfjilgzu.trfhzzzk@tezos.example.org"
};
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.
New contributor
Brilliant! It seems I was doing it correctly before, but I had sotez 0.2.9. Thank you!
– Michael Rodriguez
10 hours ago
add a comment |
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": "gfjilgzu.trfhzzzk@tezos.example.org"
};
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.
New contributor
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": "gfjilgzu.trfhzzzk@tezos.example.org"
};
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.
New contributor
edited 10 hours ago
New contributor
answered 10 hours ago
AKISHAKISH
1863
1863
New contributor
New contributor
Brilliant! It seems I was doing it correctly before, but I had sotez 0.2.9. Thank you!
– Michael Rodriguez
10 hours ago
add a comment |
Brilliant! It seems I was doing it correctly before, but I had sotez 0.2.9. Thank you!
– Michael Rodriguez
10 hours ago
Brilliant! It seems I was doing it correctly before, but I had sotez 0.2.9. Thank you!
– Michael Rodriguez
10 hours ago
Brilliant! It seems I was doing it correctly before, but I had sotez 0.2.9. Thank you!
– Michael Rodriguez
10 hours ago
add a comment |
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": "xktvhnlk.vnzorwib@tezos.example.org"
};
//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.
add a comment |
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": "xktvhnlk.vnzorwib@tezos.example.org"
};
//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.
add a comment |
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": "xktvhnlk.vnzorwib@tezos.example.org"
};
//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.
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": "xktvhnlk.vnzorwib@tezos.example.org"
};
//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.
answered 10 hours ago
Stephen AndrewsStephen Andrews
2,169317
2,169317
add a comment |
add a comment |
Michael Rodriguez is a new contributor. Be nice, and check out our Code of Conduct.
Michael Rodriguez is a new contributor. Be nice, and check out our Code of Conduct.
Michael Rodriguez is a new contributor. Be nice, and check out our Code of Conduct.
Michael Rodriguez is a new contributor. Be nice, and check out our Code of Conduct.
Thanks for contributing an answer to Tezos Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftezos.stackexchange.com%2fquestions%2f664%2factivating-a-alphanet-faucet-wallet-remotely-without-tezos-client%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown