Создать аккаунт с помощью api в devnet возможно?
-
@itachi Да, в майннет кошелек создается
1 вариант запроса к айпишнику devnet в документации по API:
а)
$ curl -H "Content-Type: application/json" -X POST "http://80.211.38.83:6101/devnet/account" -d '{"passphrase":"TestPassWord"}'
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Error</title>
</head>
<body>
<pre>Cannot POST /devnet/account</pre>
</body>
</html>б)
$ curl -H "Content-Type: application/json" -X POST "http://80.211.38.83:8282/mainnet/account" -d '{"passphrase":"TestPassWord"}'
curl: (7) Failed to connect to 80.211.38.83 port 8282: В соединении отказано2 вариант запроса к айпишнику, к которому Smartholdem Client сам цепляется при выборе devnet:
а)
$ curl -H "Content-Type: application/json" -X POST "http://213.239.207.170:6101/devnet/account" -d '{"passphrase":"TestPassWord"}'
Cannot POST /devnet/accountб)
$ curl -H "Content-Type: application/json" -X POST "http://213.239.207.170:8282/devnet/account" -d '{"passphrase":"TestPassWord"}'
{"success":false,"error":"Could not find network devnet"}в)Успешный вариант:
$ curl -H "Content-Type: application/json" -X POST "http://213.239.207.170:8282/mainnet/account" -d '{"passphrase":"TestPassWord"}'
{"success":true,"account":{"publicKey":"02f83b9419d8edbaeb095e05eba4c1685c25443bbf848125392960f38b315b6eb0","address":"ScXk96ma9D1m2w7bFbNUKx1yjbWCCEYMY5"}} -
@irkutsk да есть
ставим библиотеку sthjs и создаемnpm install sthjs
const sth = require("sthjs"); sth.crypto.setNetworkVersion(0x1e); //set net version: 0x1e - devnet const PUB_KEY = sth.crypto.getKeys(PASSPHRASE).publicKey; console.log('PUB_KEY:',PUB_KEY); ADDR = sth.crypto.getAddress(PUB_KEY);
PASSPHRASE любые символы
если хотите использовать мнемо фразы подключите bip39т.е. для генерации адресов нет необходимости обращаться по сети, вам достаточно установить библиотеку и использовать криптографические функции генерации любого числа адресов задавая PASSPHRASE, вы можете получать стандартизированные bip39 фразы, тогда необходимо установить npm install bip39
модуль https://github.com/smartholdem/smartholdem-rpc экспериментальный, демонстрирует взаимодействие протоколов bip38, 32, 39 + хранение в leveldb c masterpassword bip38
как создать модуль генерации адресов с нуля:
mkdir my cd my npm init npm install --save sthjs npm install --save bip39 npm install --save crypto-random-string npm install
> nano index.js
листинг index.js
const sth = require("sthjs"); const bip39 = require("bip39"); sth.crypto.setNetworkVersion(0x1e); //set net version: 0x1e - devnet, для main не требуется let countAddrs = 25; // число адресов for (let i=0; i < countAddrs; i++) { let PASSPHRASE = bip39.generateMnemonic(); let PUB_KEY = sth.crypto.getKeys(PASSPHRASE).publicKey; let ADDR = sth.crypto.getAddress(PUB_KEY); console.log('PASSPHRASE:', PASSPHRASE); console.log('PUB_KEY:', PUB_KEY); console.log('ADDR:', ADDR); console.log('-------:'); }
запускаем
node index.js
результат выполнения:
PASSPHRASE: satisfy power grief verify permit swamp dentist agree first segment junk cluster PUB_KEY: 020e625bdcb271ee7fbf2958eaf2333017a9b4248c7ebd80293e2fdd0cdc6bb7f2 ADDR: D61rEepokpxJGqy6JC8iFFY887em811nEE -------: PASSPHRASE: half bulb ripple ecology song abuse video casino final leopard help lumber PUB_KEY: 02024cc3d438950ecc1a24f9c4e1282492dc24229272ddf689bc5b0f91b446aa9d ADDR: DDQgfmmsoUwCAuxnCKvuNouJiYRWim81A5 -------: PASSPHRASE: only surprise muffin jelly observe imitate lobster radar reflect miracle dwarf page PUB_KEY: 0311732f8cec083c1b966b7dfd852527a1ef3eec0bb3c739884e71f40ef6ccd6ff ADDR: DDAyfTByjAeWphgYktcxqSNgrvQhRB5SMo -------: PASSPHRASE: crush tide churn card gospel hope ceiling vapor typical south lizard pink PUB_KEY: 0233fda2a9a99bb66edf73840724f6ef9f06bdcd1725cb18076baaee7d8ace897a ADDR: DJokVDXeCDdSuiCp3ZnouN67v42vmVzBXM -------: PASSPHRASE: saddle above feed decorate sustain margin boil liar include dice motion crouch PUB_KEY: 037e272279ae228652756569026e22b413a75575c6c2c9e2b3845ba58d648eb14c ADDR: DE2USjTPtHYsM19kSCVc5ymeKX8KGB7x6B -------: PASSPHRASE: exist push thing account purchase betray flip visit control cargo simple feed PUB_KEY: 03a1cfe2b0ad19e9c52c50091ef16b392e11a67658b10f6a06f28cebea4e7e58fb ADDR: DDg3aqbgzNFJQkY3Td6bQ4Qg7hjndsFpiD -------: PASSPHRASE: behave taxi shaft resource strike penalty code fragile visa image season project PUB_KEY: 03f4de587a0d97b98f5d9baf31a6688733d21fd642c03e32ce8545e935da69b8e9 ADDR: DSPCdhDW3HETZzkR5uYJt9KBHTTNydicnJ -------: PASSPHRASE: sport wolf skirt split come trade hazard deer thumb rent raw fold PUB_KEY: 037d1a4e3031cd9da89d85a98a85c1864d092cb5f9e3721fb15dbd2b358a7030af ADDR: DKzKtGK3hCYNV4KmoDnSk32aCVpqZSyhoZ -------:
Вы можете создать тестовый модуль на локальном pc в windows + ide webstorm
-
@irkutsk said in Создать аккаунт с помощью api в devnet возможно?:
@itachi Да, в майннет кошелек создается
1 вариант запроса к айпишнику devnet в документации по API:
а)
$ curl -H "Content-Type: application/json" -X POST "http://80.211.38.83:6101/devnet/account" -d '{"passphrase":"TestPassWord"}'
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Error</title>
</head>
<body>
<pre>Cannot POST /devnet/account</pre>
</body>
</html>б)
$ curl -H "Content-Type: application/json" -X POST "http://80.211.38.83:8282/mainnet/account" -d '{"passphrase":"TestPassWord"}'
curl: (7) Failed to connect to 80.211.38.83 port 8282: В соединении отказано2 вариант запроса к айпишнику, к которому Smartholdem Client сам цепляется при выборе devnet:
а)
$ curl -H "Content-Type: application/json" -X POST "http://213.239.207.170:6101/devnet/account" -d '{"passphrase":"TestPassWord"}'
Cannot POST /devnet/accountб)
$ curl -H "Content-Type: application/json" -X POST "http://213.239.207.170:8282/devnet/account" -d '{"passphrase":"TestPassWord"}'
{"success":false,"error":"Could not find network devnet"}в)Успешный вариант:
$ curl -H "Content-Type: application/json" -X POST "http://213.239.207.170:8282/mainnet/account" -d '{"passphrase":"TestPassWord"}'
{"success":true,"account":{"publicKey":"02f83b9419d8edbaeb095e05eba4c1685c25443bbf848125392960f38b315b6eb0","address":"ScXk96ma9D1m2w7bFbNUKx1yjbWCCEYMY5"}}если вы хоите взаимодействовать с модулем smartholde-rpc, вам его необходимо установить на свой сервер, обращение к модулю происходит локально, если вы хотите тестировать dev-net вы можете запустить rpc-server с параметром --allow-remote
-
сегодня также опуликован отдельный модуль smartholdem-cli где вы можете генерировать тщеславные адреса через консоль
-
Крайне не рекомендуется использовать сторонние сервисы для генерации адресов, адреса всегда генерируются локально с помощью криптобиблиотек, если вам необходим rpc-json генерации большого числа адресов, тогда тут также все просто, достаточно создать node-express-server + ранее указанные библиотеки, полный рабочий пример генерации адресов через json добавим сегодня. !!Не забываем, взаимодействовать с rpc локально либо по ограниченному ip-адресу
-
@irkutsk said in Создать аккаунт с помощью api в devnet возможно?:
Подскажите, пожалуйста.
Есть необходимость создавать кошельки через api запрос, как это возможно в devnet сделать?Под вашу задачу написан сегодня пример https://github.com/smartholdem/sth-generator
работает через простой get запрос, т.е. просто указываете
http://localhost:3000/devnet/100
где 100 число новых адресов
или
http://localhost:3000/api/mainnet/10
-
Добавлена функция генерации большого числа bip39 адресов в основную библиотеку https://github.com/smartholdem/smartholdem-rpc
Generate BIP39 accounts: GET /:network/account/generate/:count
результат
[ { "address": "SixwnTpZrD7byFQ1cat8PpnToQRuKSaGTZ", "pubkey": "03beedc2a6501d90b293973e08dc0329c9c1b223c02f0395d911421a5f5128634c", "pass": "column vacuum certain cash liquid term stairs knee oil devote radio van" }, { "address": "SjKCL3hETdf6CmSaHDjAFbfFxJUk5X2DCM", "pubkey": "0370fe92f085a70823fbc196322be72a03dd22876b8a046ff6e29e6b0c3e7f9ae6", "pass": "anchor prefer involve fiction dove bar shy acoustic dinosaur glide guitar seat" }, ...