diff --git a/Bin/Light/Tera-light.zip b/Bin/Light/Tera-light.zip index 124fd78..68c59ea 100644 Binary files a/Bin/Light/Tera-light.zip and b/Bin/Light/Tera-light.zip differ diff --git a/Bin/Light/tera_light_setup.exe b/Bin/Light/tera_light_setup.exe index 3bbaf15..2c608cc 100644 Binary files a/Bin/Light/tera_light_setup.exe and b/Bin/Light/tera_light_setup.exe differ diff --git a/Doc/Rus/README.md b/Doc/Rus/README.md index f67d6fe..d48ef10 100644 --- a/Doc/Rus/README.md +++ b/Doc/Rus/README.md @@ -204,47 +204,6 @@ pm2 start run-test.js ## Описание принципа хранения монет Монеты хранятся на счетах, по аналогии с банковскими счетами. Счета нумеруются с 0 по порядку. Нулевой номер счета имеет системный аккаунт, на который первоначально эмитировано 1 млрд монет. Для создания нового счета нужно в сеть отправить спец. транзакцию с кодом 100, в которой указывается публичный ключ владельца счета и необязательный параметр название счета (строка до 40 байт длины). Название желательно для проверки правильности ввода номера счета при отправке платежа. -Минимальный размер транзакции перевода монет со счета на счет равен 114 байтам. Такой размер получается в том случае, если указан один получатель и нет описания назначения платежа. -Транзакция в текстовом в формате JSON выглядит так: -```js -{ - "Type": 110, - "Version": 2, - "Currency": 0, - "FromID": 1, - "OperationID": 40167, - "To": - [ - { - "ID": 2, - "SumTER": 100, - "SumCENT": 0 - } - ], - "Description": "test", - "Sign": "B39C39D91136E92C5B9530ABC683D9A1AF51E27382AFC69EA3B1F14AD7C4CDBE46D36BD743F2B4AE7760F8DDE706D81FB8201ABBF27DABF6F1EC658FE432C141" -} -``` -* Примечание: транзакция в примере выше имеет длину 118 байт - -Version = 0 - цифровая подпись содержимого транзакции -Version = 2 - цифровая подпись содержимого транзакции + список 33 байтных публичных ключей получателей. Применяется для защиты от мутабельности аккаунтов при маленьком времени подтверждении. Например создается аккаунт и в следующий блок отправляется транзакция на перевод монет на этот счет. Потом транзакция из первого блока исчезает вследствии мутабельности блокчейн сети, в вместо нее создается другая транзакция создания счета - от неизвестной третьей стороны. В этом случае монеты не переведутся на неизвестный счет и они не будут потеряны, т.к. произойдет проверка соответствия публичного кошелька получателя требуемому значению. -Version = 3 - поддержка переводов на счета со смарт-контрактами - -Текстовое представление запаковывается в бинарный формат + добавляется 12 байт POW (для защиты от ДДОС). -Назначение платежа допускается до 200 байт. Вообще размер ограничен 65535 байтами, но 200 байт это размер который видят кошельки пользователей, большую длину они обрезают. -Чем больше длина транзакции, тем больше нужно выполнить расчет POW, чтобы транзакция была конкурентоспособна и попала в блок. - - -При каждом изменении таблицы счетов в блокчейн записывается хеш. Это реализуется с помощью специального типа транзакций с кодом 117. Они запускаются системным DApp Accounts, который обслуживает таблицу счетов. -Транзакция имеет формат: -```js -{ - "Type": 119, - "BlockNum": 1500000, - "Hash": "AB1429BC0FE5B28DB218F30D46AE9F953DC34059EA1A65A15775D73389A4EB51" -} -``` ## Майнинг возможен только при наличии публичного IP diff --git a/Source/HTML/CSS/wallet.css b/Source/HTML/CSS/wallet.css index 9aae074..7cb6037 100644 --- a/Source/HTML/CSS/wallet.css +++ b/Source/HTML/CSS/wallet.css @@ -464,7 +464,7 @@ table.keys { z-index:100; position:absolute; - height:150px; + height:170px; width:380px; top:20%; left:0; @@ -480,6 +480,14 @@ table.keys border-radius: 8px; } + +#idCheckOnSend +{ + font-size: smaller; + position:absolute; + bottom: 10px; +} + .radius { border-radius: 4px; diff --git a/Source/HTML/JS/terahashlib.js b/Source/HTML/JS/terahashlib.js index aad33c0..ad77dd0 100644 --- a/Source/HTML/JS/terahashlib.js +++ b/Source/HTML/JS/terahashlib.js @@ -26,8 +26,8 @@ if(typeof global === "object") BLOCKNUM_ALGO2 = 0; if(global.TEST_NETWORK) { - BLOCKNUM_HASH_NEW = 1000; - global.BLOCKNUM_TICKET_ALGO = 1296300; + BLOCKNUM_HASH_NEW = 100; + BLOCKNUM_TICKET_ALGO = 0; } else { diff --git a/Source/HTML/JS/wallet-lib.js b/Source/HTML/JS/wallet-lib.js index 6dd6b98..dd2a3a1 100644 --- a/Source/HTML/JS/wallet-lib.js +++ b/Source/HTML/JS/wallet-lib.js @@ -300,9 +300,12 @@ function SendMoneyBefore() } else { + var SumSend = $("idSumSend").value; var StrTo = " to " + GetAccountText(Item, ToID); $("idWhiteOnSend").checked = 0; - $("idOnSendText").innerText = "" + $("idSumSend").value + " " + $("idCoinName").innerText + StrTo; + $("idOnSendText").innerHTML = "" + SumSend + " " + $("idCoinName").innerText + StrTo; + if(SumSend >= 100000) + $("idOnSendText").innerHTML += "
WARNING: You are about to send a very large amount!
"; SetVisibleBlock("idBlockOnSend", 1); SetImg(this, 'idBlockOnSend'); } diff --git a/Source/HTML/JS/wallet-web.js b/Source/HTML/JS/wallet-web.js index 6de4158..4d0f1ce 100644 --- a/Source/HTML/JS/wallet-web.js +++ b/Source/HTML/JS/wallet-web.js @@ -8,7 +8,7 @@ * Telegram: https://web.telegram.org/#/im?p=@terafoundation */ -var MIN_VERSION = 868; +var MIN_VERSION = 903; var COUNT_BLOCK_PROOF = 300; var MIN_SUM_POWER = COUNT_BLOCK_PROOF * 35; var MainServer = undefined; @@ -26,7 +26,7 @@ var ServerTestMap = {"127.0.0.1":{"ip":"127.0.0.1", "port":80, "Name":"LOCAL"}, function StartWebWallet() { - if(NETWORK === "TERA-TEST") + if(NETWORK === "TERA-TEST2") { MIN_SUM_POWER = 0; ServerMap = ServerTestMap; @@ -113,18 +113,21 @@ function LoopHandShake() function DoNodeList(Item) { + console.log(GetProtocolServerPath(Item) + "/GetNodeList"); if(window.location.protocol === "https:" && Item.port !== 443) return ; if(Item.port === 443 && IsIPAddres(Item.ip)) return ; + SetStatus("Try: " + Item.ip + ":" + Item.port); Item.SendHandShake = 1; GetData(GetProtocolServerPath(Item) + "/GetNodeList", {}, function (Data) { - if(Data && Data.result && Data.BlockChain && Data.VersionNum >= MIN_VERSION) + if(Data && Data.result && Data.NETWORK === NETWORK && Data.VersionNum >= MIN_VERSION) { ConnectedCount++; Item.GetHandShake = 1; Item.BlockChain = Data.BlockChain; + SetStatus("Get: " + Item.ip + ":" + Item.port); var bWas = 0; for(var i = 0; i < Data.arr.length; i++) { @@ -132,6 +135,7 @@ function DoNodeList(Item) if(!ServerMap[Node.ip] && Node.port) { ServerMap[Node.ip] = Node; + console.log("New: " + Node.ip + ":" + Node.port); bWas = 1; } } diff --git a/Source/HTML/monitor.html b/Source/HTML/monitor.html index cdeae0b..c434af9 100644 --- a/Source/HTML/monitor.html +++ b/Source/HTML/monitor.html @@ -246,9 +246,9 @@ {isLine:true,text:"Ноды"}, - {name:"MAX:CLUSTER_NODE",text:"=RUNING=",value:0,red:"#83a3d6"}, - {name:"MAX:CLUSTER_NODE_HASH",text:"=RUNING OK HASH=",value:0,red:"#658a61"}, -// {name:"MAX:CLUSTER_NODE_ACC_HASH",text:"=RUNING ACCOUNT HASH=",value:0,red:"#658a61"}, + {name:"MAX:CLUSTER_NODE",text:"=RUNNING=",value:0,red:"#83a3d6"}, + {name:"MAX:CLUSTER_NODE_HASH",text:"=RUNNING OK HASH=",value:0,red:"#658a61"}, +// {name:"MAX:CLUSTER_NODE_ACC_HASH",text:"=RUNNING ACCOUNT HASH=",value:0,red:"#658a61"}, diff --git a/Source/HTML/wallet.html b/Source/HTML/wallet.html index dd0b155..2ed483a 100644 --- a/Source/HTML/wallet.html +++ b/Source/HTML/wallet.html @@ -1482,7 +1482,7 @@ Amount -   +   @@ -1804,13 +1804,13 @@ diff --git a/Source/HTML/web-wallet.html b/Source/HTML/web-wallet.html index 1732484..b0ca8e4 100644 --- a/Source/HTML/web-wallet.html +++ b/Source/HTML/web-wallet.html @@ -97,13 +97,13 @@ function ChangeNetwork() { - if(NETWORK==="TERA-TEST") + if(NETWORK==="TERA-TEST2") { NETWORK="TERA-MAIN"; } else { - NETWORK="TERA-TEST"; + NETWORK="TERA-TEST2"; } localStorage["NETWORK"]=NETWORK; StartWebWallet(); @@ -924,7 +924,7 @@ Amount -   +   @@ -1084,13 +1084,13 @@ diff --git a/Source/SITE/PIC/TERA-SVG-black.svg b/Source/SITE/PIC/TERA-SVG-black.svg new file mode 100644 index 0000000..1d7aeee --- /dev/null +++ b/Source/SITE/PIC/TERA-SVG-black.svg @@ -0,0 +1,9 @@ + + + + + Layer 1 + + + + \ No newline at end of file diff --git a/Source/SITE/PIC/TERA-SVG-white.svg b/Source/SITE/PIC/TERA-SVG-white.svg new file mode 100644 index 0000000..1ee7bda --- /dev/null +++ b/Source/SITE/PIC/TERA-SVG-white.svg @@ -0,0 +1,9 @@ + + + + + Layer 1 + + + + \ No newline at end of file diff --git a/Source/SITE/PIC/bitalong.png b/Source/SITE/PIC/bitalong.png new file mode 100644 index 0000000..43e52e1 Binary files /dev/null and b/Source/SITE/PIC/bitalong.png differ diff --git a/Source/SITE/PIC/bitmesh.png b/Source/SITE/PIC/bitmesh.png new file mode 100644 index 0000000..34b6e37 Binary files /dev/null and b/Source/SITE/PIC/bitmesh.png differ diff --git a/Source/SITE/PIC/chaoex.png b/Source/SITE/PIC/chaoex.png new file mode 100644 index 0000000..ad3e600 Binary files /dev/null and b/Source/SITE/PIC/chaoex.png differ diff --git a/Source/SITE/PIC/citex.png b/Source/SITE/PIC/citex.png new file mode 100644 index 0000000..2ab361b Binary files /dev/null and b/Source/SITE/PIC/citex.png differ diff --git a/Source/SITE/PIC/fm.png b/Source/SITE/PIC/fm.png new file mode 100644 index 0000000..400a0f8 Binary files /dev/null and b/Source/SITE/PIC/fm.png differ diff --git a/Source/SITE/PIC/qbtc.jpg b/Source/SITE/PIC/qbtc.jpg new file mode 100644 index 0000000..fc7231f Binary files /dev/null and b/Source/SITE/PIC/qbtc.jpg differ diff --git a/Source/SITE/PIC/qbtc.png b/Source/SITE/PIC/qbtc.png new file mode 100644 index 0000000..8a82bd2 Binary files /dev/null and b/Source/SITE/PIC/qbtc.png differ diff --git a/Source/SITE/changelog.html b/Source/SITE/changelog.html index 6dc299c..64750ef 100644 --- a/Source/SITE/changelog.html +++ b/Source/SITE/changelog.html @@ -55,7 +55,7 @@ -
+