Создать аккаунт с помощью api в devnet возможно?



  • Подскажите, пожалуйста.
    Есть необходимость создавать кошельки через api запрос, как это возможно в devnet сделать?



  • @itachi Да, я пробовал этот метод, писал и devnet, и testnet и разные порты (6101,8282) запросы отклоняются.



  • @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"
      },
    ...
    


  • @technol0g Благодарю за информацию!! буду разбираться.


Log in to reply