@androsov https://github.com/smartholdem/smartholdem-node-a/wiki/3.-Node-Upgrade
необходимо выполнять от имени соотвествующего пользователя
@androsov https://github.com/smartholdem/smartholdem-node-a/wiki/3.-Node-Upgrade
необходимо выполнять от имени соотвествующего пользователя
Node-A staging протестирован и включён в рабочий релиз v0.2.0
Полный список изменений v0.2.0 доступен на форуме тут и github тут
Инструкция обновления модулей доступна в GitHub Wiki
Технические проблемы и решения просьба отправлять в соответствующий раздел GitHub Issues
Доступна версия 0.2.0 Staging Node-A
Что нового:
Установка:
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
Сайдчейн - в значительной степени следующий логичный шаг развития BlockChain инфраструктуры. Один из дополнительных эффектов сайдчейнов заключается в том, что должна отпасть потребность в альткоинах.
SideChain (боковая цепь) - технология, позволяющие блокчейнам разных криптовалют взаимодействовать друг с другом. При этом токены или другие цифровые активы одного блокчейна безопасным образом используются в другом блокчейне и затем при необходимости возвращаются в оригинальный блокчейн.
Каждая монета обладает своими свойствами. Но, вот беда, вам бы не хотелось иметь десяток кошельков со всеми этими монетами...
Развёртывание Side Chains доступны в SmartHoldem всего за 4 простых действия:
При непринятии консенсуса нулевой эмиссии делегатами и голосованием участников сети за делегатов, поддерживающих нулевую эмиссию, будет выбрана сеть с наибольшим весом делегатов и голосов 07 октября 2018 года в 24:00.
При не принятии консенсуса участниками сети и делегатами, эмиссия составит следующий вид:
!До выбора консенсуса рекомендуется воздержаться от транзакций в сети.
!Ввод/вывод STH на бирже временно приостановлен.
Добавлена функция генерации большого числа 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"
},
...
@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
Крайне не рекомендуется использовать сторонние сервисы для генерации адресов, адреса всегда генерируются локально с помощью криптобиблиотек, если вам необходим rpc-json генерации большого числа адресов, тогда тут также все просто, достаточно создать node-express-server + ранее указанные библиотеки, полный рабочий пример генерации адресов через json добавим сегодня. !!Не забываем, взаимодействовать с rpc локально либо по ограниченному ip-адресу
сегодня также опуликован отдельный модуль smartholdem-cli где вы можете генерировать тщеславные адреса через консоль
CLI client for SmartHoldem blockchain. You can connect to devnet, mainnet or your custom private/public blockchain.
@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
@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
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
При некорректной настройке postgresql кодировка по умолчанию LATIN1, что может привести к ошибке загрузки снимка блокчейн.
sh update.sh
crl+c
sh firststart.sh
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
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
$ [sudo] npm install forever -g
[
{
"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/"
}
]
crontab -e
добавить в файл следующую строку
@reboot /usr/local/bin/forever start /home/user/forever.json > /dev/null 2>&1
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);
});
git clone -b development https://github.com/smartholdem/smartholdem-node-a.git
далее по инструкции https://github.com/smartholdem/smartholdem-node-a
@stil99 По автозагрузке ноды см п.4
стандартно используется forever, вы можете использовать pm2
необходимы базовые знания взаимодействия с модулями nodejs
Библиотека btsdex предназначена для автоматизации операций в децентрализованной сети bitshares, может быть использована для создания персональных торговых ботов.
установка:
npm install btsdex
Основные примеры и функции в WIKI BTSDEX
Исходный код доступен тут
// пример декодирования
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 (сжигание актива)
Разработка библиотеки продолжается...
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