• Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (Flatly)
  • No Skin
Collapse
SmartHoldem Community

Community

TechnoL0gT

TechnoL0g

@TechnoL0g
About
Posts
261
Topics
114
Groups
8
Followers
11
Following
4

Posts

Recent Best Controversial

    Node-A v0.2.0 новая версия
  • TechnoL0gT TechnoL0g

    @androsov https://github.com/smartholdem/smartholdem-node-a/wiki/3.-Node-Upgrade

    необходимо выполнять от имени соотвествующего пользователя


  • Node-A v0.2.0 новая версия
  • TechnoL0gT TechnoL0g

    Node-A staging протестирован и включён в рабочий релиз v0.2.0

    • Полный список изменений v0.2.0 доступен на форуме тут и github тут

    • Инструкция обновления модулей доступна в GitHub Wiki

    • Технические проблемы и решения просьба отправлять в соответствующий раздел GitHub Issues


  • Node-A v0.2.0 Функционал
  • TechnoL0gT TechnoL0g

    Доступна версия 0.2.0 Staging Node-A

    Что нового:

    • Добавлены дополнительные индексы в делегаты и голоса
    • Дополнительные проверки при создании имен
    • Предотвращение спама ip-адреса
    • Добавлены функции быстрого получения ip peers вместо стандартных (req.headers['x-forwarded-for'] || req.connection.remoteAddress)
    • Добавлена версионность нод, для будущих "hard forks", отклонение старых версий
    • Добавлена опция blocks, address, balance, vote в вероятные будущие исключения (exceptions)
    • Добавлена совместимость с core 2.0
    • Оптимизация blockchain rebuilds
    • Fix при работе с большими числами
    • Устранение проблем параллелизма при трансляции транзакций в сеть
    • В config.json добавлена опция minimum version peer
    • Удалены config.smartholdem.json и genesisBlock.smartholdem.json
    • Оставлены config.json и genesisBlock.json по умолчанию
    • Обновлены скрипты shell sh
    • Исправлены некоторые опечатки в коде
    • Обновлены модули: accounts, blockchain, blocks, delegates, loader, nodeManager, peers, rounds, signatures, transactionPool, transactions, transport
    • Исправлено время удаления недействительных транзакций
    • Обновлены критические зависимости packages
    • Использование объектов вместо массива, чтобы избежать дублирования в модулях транспорт и пул транзакций. Также удалено случайное включение журнала.
    • Запрет спама и флуда памяти из-за setTimeouts
    • Исправлена привязка библиотек в модуле аккаунт
    • Обновлен модуль lodash
    • Добавлен строковый формат голосования за делегатов
    • Исправлены лимиты в timestamps
    • Перенесены API forging enable & disable в debug
    • Использование встроенного ранжирования делегатов
    • Исключен локалхост из проверки приводящей к зацикливанию
    • Отключен опрос всех пиров сети и ограничен 20ю по умолчанию для предотвращения сетевого спама
    • Несколько патчей связанных с таймаутами / ребилдами блокчейн
    • Исправление: идентификаторы блоков теперь являются целыми числами, а не строками
    • Расширены таймауты перестройки блоков
    • Не обращаться к нодам с ошибками (временное тестирование)
    • Обновлены сервисы синхронизации времени узлов
    • P2P улучшения
    • Удалены неиспользуемые модули
    • Режим интерактивной командной строки: sh cli.sh
    • Уровень логирования изменен с debug на info
    • Оптимизирована работа с базой данных
    • Обновлен список seeds по умолчанию
    • Добавлен vagrant devnet
    • Добавлена экспериментальная опция в config.json defaullt fastSync = false, максимальная скорость поблочной синхронизации в сочетании с опцией игнорирования пиров с ошибками config.json default skipPeersWithErr = true
    • Версия сети идентифицируется 0.4.0
    • При отсутствии места в блоке > 50tx, необработанные Tx помещаются в очередь.

    Установка:

    git clone -b master https://github.com/smartholdem/smartholdem-node-a.git
    cd smartholdem-node-a
    npm install -g npm forever grunt-cli
    npm install
    sh run.sh
    sh console.sh
    

    !Перед установкой необходимо отключить работающую ноду на сервере, если включена, т.к. используется оригинальная бд

    cd smartholdem-node-a
    sh stop.sh
    ...
    

    На Ubuntu 18, используйте nodejs 10.13.0

    nvm install 10.13.0
    nvm use 10.13.0
    nvm alias default 10.13.0
    npm install -g npm forever grunt-cli
    npm install
    

  • SideChains
  • TechnoL0gT TechnoL0g

    Сайдчейн - в значительной степени следующий логичный шаг развития BlockChain инфраструктуры. Один из дополнительных эффектов сайдчейнов заключается в том, что должна отпасть потребность в альткоинах.

    SideChain (боковая цепь) - технология, позволяющие блокчейнам разных криптовалют взаимодействовать друг с другом. При этом токены или другие цифровые активы одного блокчейна безопасным образом используются в другом блокчейне и затем при необходимости возвращаются в оригинальный блокчейн.

    Каждая монета обладает своими свойствами. Но, вот беда, вам бы не хотелось иметь десяток кошельков со всеми этими монетами...

    Развёртывание Side Chains доступны в SmartHoldem всего за 4 простых действия:

    • конфигурирование side chain
    • генерация genesis-блока
    • запуск улов side chain
    • добавление в кошелек SmartHoldem

  • Выбор консенсуса
  • TechnoL0gT TechnoL0g

    При непринятии консенсуса нулевой эмиссии делегатами и голосованием участников сети за делегатов, поддерживающих нулевую эмиссию, будет выбрана сеть с наибольшим весом делегатов и голосов 07 октября 2018 года в 24:00.

    При не принятии консенсуса участниками сети и делегатами, эмиссия составит следующий вид:

    0_1538777720618_LimitedEmission2018_2023.jpg

    !До выбора консенсуса рекомендуется воздержаться от транзакций в сети.
    !Ввод/вывод STH на бирже временно приостановлен.


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

    Добавлена функция генерации большого числа 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"
      },
    ...
    

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

    @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
    

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

    Крайне не рекомендуется использовать сторонние сервисы для генерации адресов, адреса всегда генерируются локально с помощью криптобиблиотек, если вам необходим rpc-json генерации большого числа адресов, тогда тут также все просто, достаточно создать node-express-server + ранее указанные библиотеки, полный рабочий пример генерации адресов через json добавим сегодня. !!Не забываем, взаимодействовать с rpc локально либо по ограниченному ip-адресу


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

    сегодня также опуликован отдельный модуль smartholdem-cli где вы можете генерировать тщеславные адреса через консоль


  • smartholdem-cli + vanity generator
  • TechnoL0gT TechnoL0g

    Console JS client SmartHoldem

    CLI client for SmartHoldem blockchain. You can connect to devnet, mainnet or your custom private/public blockchain.

    • connect to network or a node,
    • get stats of a network,
    • create or get status of an account,
    • create vanity accounts (multi-cpu supported),
    • register a delegate,
    • vote for a delegate,
    • sign and verify message using your address.

    details: https://github.com/smartholdem/smartholdem-cli


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

    @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


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

    @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


  • ERROR: character with byte sequence 0xd0 0x9a in encoding "UTF8" has no equivalent in encoding "LATIN1"
  • TechnoL0gT TechnoL0g

    При некорректной настройке postgresql кодировка по умолчанию LATIN1, что может привести к ошибке загрузки снимка блокчейн.

    1. решение
    sh update.sh
    crl+c
    sh firststart.sh
    
    1. решение
    sudo locale-gen en_US.UTF-8
    dropdb sth_smartholdem
    createdb -E UTF8 -T template0 --lc-collate=en_US.UTF-8 --lc-ctype=en_US.utf8 sth_smartholdem
    sh firststart.sh
    
    1. решение
    sudo locale-gen en_US.UTF-8
    dropdb sth_smartholdem
    createdb sth_smartholdem
    psql sth_smartholdem
    
    > sth_smartholdem=> show client_encoding;
     client_encoding
    -----------------
     LATIN1
    (1 row)
    
    > sth_smartholdem=> SET client_encoding = 'UTF8';
    SET
    > sth_smartholdem=> show client_encoding;
     client_encoding
    -----------------
     UTF8
    (1 row)
    
    > sth_smartholdem-> \q
    
    sh firststart.sh
    

  • Автостарт приложений с forever после перезагрузки сервера
  • TechnoL0gT TechnoL0g
    1. установить
    $ [sudo] npm install forever -g
    
    1. создать файл forever.json для ваших приложений
    [
      {
        "uid": "appName1",
        "append": true,
        "watch": false,
        "script": "index.js",
        "sourceDir": "/home/user/appName1/",
        "workingDir": "/home/user/appName1/"
      },
      {
        "uid": "appName2",
        "append": true,
        "watch": false,
        "script": "index.js",
        "sourceDir": "/home/user/appName2/",
        "workingDir": "/home/user/appName2/"
      }
    ]
    
    1. Записать в cron
    crontab -e
    

    добавить в файл следующую строку
    @reboot /usr/local/bin/forever start /home/user/forever.json > /dev/null 2>&1


  • Подключение к DevNet
  • TechnoL0gT TechnoL0g
    1. Настроить кошелек https://github.com/smartholdem/smartholdem-wallet/releases
    • В настройки > управление сетями > Testnet
      добавить dev-seed: https://nodedev.smartholdem.io
      или/ Создать новую сеть и добавить dev-seed: https://nodedev.smartholdem.io
    • сохранить
    • может потребоваться перезапуск кошелька
    1. Переключиться на DevNet/Tesnet в верхнем меню
    2. Получить адрес D... и фразы
    3. Получить монеты в https://devfaucet.smartholdem.io/ (транзакция ~3 минуты)
    4. Обозреватель DEvNet http://devexplorer.smartholdem.io/#/
    5. При использовании https://github.com/smartholdem/sthjs-wrapper с DevNet в формировании транзакций необходимо указать версию dev-сети в options {version: 0x1e} (для mainnet указывать версию не требуется)
    const smartholdemApi = require("sthjs-wrapper");
    
    smartholdemApi.init("dev"); // devnet or main
    
    // Сформировать транзакцию
    let options = {
      version: 0x1e, //это версия dev-net
      vendorField: "Comment field (optional)",
      secondPassphrase: "Sender second passphrase (optional)"
    };
    let tx = smartholdemApi.createTransaction("Sender passphrase",
                          "Address of recipient",
                          "Amount to send in 10^8 (Integer)",
                          options);
    
    console.log(tx);
    
    // отправить в сеть
    let transaction = smartholdemApi.sendTransactions([tx], (error, success, response) => {
        console.log(response);
    });
    
    
    1. Установка ноды DevNet
    git clone -b development https://github.com/smartholdem/smartholdem-node-a.git
    

    далее по инструкции https://github.com/smartholdem/smartholdem-node-a


  • Частые вопросы по использованию Full node Level A
  • TechnoL0gT TechnoL0g

    @stil99 По автозагрузке ноды см п.4

    стандартно используется forever, вы можете использовать pm2

    необходимы базовые знания взаимодействия с модулями nodejs


  • Обновление библиотеки BTSDEX 0.4.8
  • TechnoL0gT TechnoL0g

    Библиотека btsdex предназначена для автоматизации операций в децентрализованной сети bitshares, может быть использована для создания персональных торговых ботов.

    установка:

    npm install btsdex
    
    • Основные примеры и функции в WIKI BTSDEX

    • Исходный код доступен тут


    Дополнительные функции:

    • memoDecode (декодирование memo)
    // пример декодирования
    const BitShares = require("btsdex");
    BitShares.init("wss://bitshares.openledger.info/ws");
    BitShares.subscribe('connected', start);
    
    KEY = '5K...PrivateKey';
    SENDER = 'sender_name';
    
    async function start() {
    
        let bot = new BitShares(SENDER, KEY);
        bot.setMemoKey(KEY);
        let memo_text = await bot.memoDecode({
            "from": "BTS5...sender_address",
            "nonce": 192135435365768,
            "message": "b897254f..."
        });
    
        console.log(memo_text.split(":");
    
    }
    
    • assetIssue (выпуск актива)

    • assetReserve (сжигание актива)

    Разработка библиотеки продолжается...


  • XBTS DEX ChangeLog
  • TechnoL0gT TechnoL0g

    01.07.2018 - Started Decentralized Exchange XBTS.io
    16.07.2018 - PostCoin Listed
    24.07.2018 - SmartHoldem Listed
    25.07.2018 - Desktop DEX Wallet v2.0.180629
    26.07.2018 - Added QR-CODE for payments
    27.07.2018 - First Public API XBTS DEX Released
    29.07.2018 - XBTS DEX PUBLIC API RELEASE Update
    01.08.2018 Added MXN (1 Mexican peso, Maintenance collateral ratio (MCR) 175%)
    02.08.2018 Public API Update - coin info
    03.08.2018 MXN ( = 1 Mexican peso) Added
    07.08.2018 Bitcoin Gold & Bitcoin Cash Listed
    23.08.2018 SpectreCoin (XSPEC) Listed
    25.08.2018 Added Accounts API
    27.08.2018 Listed NovaCoin (NVC)
    01.09.2018 btsdex library update
    05.09.2018 DogeCoin (DOGE) Listed
    14.09.2018 XBTS added into Bitshares wallet
    28.09.2018 42-Coin (42) Listed
    01.10.2018 Universe Coin (UNI) Listed
    12.10.2018 NameCoin (NMC) Listed
    17.10.2018 SteepCoin (STEEP) Listed
    25.10.2018 CoffeeCoin (COF) Listed
    27.10.2018 Waves Listed
    14.11.2018 WIN LISTING AT DEX EXCHANGE
    10.12.2018 XRUP Waves token listed
    10.12.2018 P2P Waves token listed
    17.12.2018 EverGreen (EGC) Listed
    17.12.2018 DeepOnion (ONION) Listed
    26.12.2018 STEP-BY-STEP INSTRUCTIONS XBTS
    27.12.2018 BOWHEAD HEALTH (AHT) Ethereum token Listed
    27.12.2018 Beluga Pay (BBI) Ethereum token Listed
    28.12.2018 WIXLAR (WIX) Ethereum token Listed
    18.08.2019 Integration of DexGames into XBTS
    20.08.2019 Wallets Validator tool available on npm & git
    24.09.2019 Re-branding
    24.09.2019 UI Upgrade
    01.10.2019 Listed PAISA
    01.11.2019 Listed BCCX Coin
    10.11.2019 Listed GUAP Coin
    26.01.2020 Upd Terms of Use
    29.01.2020 Snapcraft https://snapcraft.io/xbts-light
    05.02.2020 Add Gateway Binance Chain BEP2
    06.02.2020 Add Deposit/Withdraw BNB Binance Coin

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 13
  • 14
  • 5 / 14
  • Login

  • Don't have an account? Register

  • Login or register to search.
  • First post
    Last post
0
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search