0.1025
|
@ -115,14 +115,12 @@ return:
|
|||
}
|
||||
```
|
||||
|
||||
example2 (создание нового счета):
|
||||
example2 (create new account):
|
||||
```js
|
||||
http://127.0.0.1/api/v2/Send
|
||||
|
||||
{
|
||||
"FromID": 190059,
|
||||
"FromPrivKey": "A2D45610FE8AC931F32480BFE3E78D26E45B0A4F88045D6518263DA12FA9C033",
|
||||
"ToID22":190516,
|
||||
"ToID":"0240EDF5ECB25D886FD58DB92A53914FAC975078C1C2EDD1AC292B70C7BC13461F",
|
||||
"Amount":10,
|
||||
"Description":"New account",
|
||||
|
|
|
@ -123,7 +123,6 @@ http://127.0.0.1/api/v2/Send
|
|||
{
|
||||
"FromID": 190059,
|
||||
"FromPrivKey": "A2D45610FE8AC931F32480BFE3E78D26E45B0A4F88045D6518263DA12FA9C033",
|
||||
"ToID22":190516,
|
||||
"ToID":"0240EDF5ECB25D886FD58DB92A53914FAC975078C1C2EDD1AC292B70C7BC13461F",
|
||||
"Amount":10,
|
||||
"Description":"New account",
|
||||
|
|
|
@ -1702,3 +1702,12 @@ function ToLog(Str)
|
|||
{
|
||||
console.log(Str);
|
||||
};
|
||||
|
||||
function InitMainServer()
|
||||
{
|
||||
var Str = localStorage["MainServer"];
|
||||
if(Str && !localStorage["BIGWALLET"] && Str.substr(0, 1) === "{")
|
||||
{
|
||||
MainServer = JSON.parse(Str);
|
||||
}
|
||||
};
|
||||
|
|
After Width: | Height: | Size: 2.5 KiB |
|
@ -29,10 +29,7 @@
|
|||
|
||||
window.onload=function()
|
||||
{
|
||||
if(localStorage["MainServer"] && !localStorage["BIGWALLET"])
|
||||
{
|
||||
MainServer=JSON.parse(localStorage["MainServer"]);
|
||||
}
|
||||
InitMainServer();
|
||||
|
||||
document.body.className="univers "+localStorage["idSelStyle"];
|
||||
var i=document.URL.indexOf("#");
|
||||
|
|
|
@ -28,12 +28,27 @@
|
|||
var CountViewRows=20;
|
||||
|
||||
|
||||
function SetStatus(Str)
|
||||
{
|
||||
var id = $("idStatus");
|
||||
id.innerHTML=Str;
|
||||
}
|
||||
|
||||
window.onload=function()
|
||||
{
|
||||
if(localStorage["MainServer"] && !localStorage["BIGWALLET"])
|
||||
try
|
||||
{
|
||||
MainServer=JSON.parse(localStorage["MainServer"]);
|
||||
OnLoad();
|
||||
}
|
||||
catch (e)
|
||||
{
|
||||
SetStatus("Error: "+e);
|
||||
}
|
||||
|
||||
}
|
||||
function OnLoad()
|
||||
{
|
||||
InitMainServer();
|
||||
|
||||
document.body.className="univers "+localStorage["idSelStyle"];
|
||||
var i=document.URL.indexOf("#");
|
||||
|
@ -208,6 +223,9 @@
|
|||
|
||||
</DIV>
|
||||
|
||||
<DIV id="idStatus"></DIV>
|
||||
|
||||
|
||||
<DIV id="idStableScroll">
|
||||
@terafoundation
|
||||
<!--progr76@gmail.com-->
|
||||
|
|
|
@ -1336,7 +1336,8 @@
|
|||
<th id="CurrencyNameItem(Item)" data-name="Currency" class="cur hint">Cur</th>
|
||||
<th id="Item.Name" data-name="Account name" class="accname hint">Name</th>
|
||||
<th id="Item.Value.OperationID" data-name="Operation ID" class="snum hint">OP</th>
|
||||
<th id="Item.Adviser" data-name="Adviser" class="snum hint">Adv</th>
|
||||
<th id="(RetHistoryAccount(Item,'Adviser'))" data-name="Adviser" class="snum hint">Adv</th>
|
||||
|
||||
<th id="(RetChangeSmart(Item))" data-name="Smart contract (DApp)" class="smart hint">Smart</th>
|
||||
<th id="Item.WN" class="num" style="width: 30px;"></th>
|
||||
</tr>
|
||||
|
@ -1620,7 +1621,7 @@
|
|||
<th id="Item.Name" class="accname">Name</th>
|
||||
<th id="Item.PubKeyStr" class="pubkey">PubKey</th>
|
||||
<th id="Item.Value.OperationID" class="num">Operation</th>
|
||||
<th id="Item.Adviser" class="num">Adviser</th>
|
||||
<th id="(RetHistoryAccount(Item,'Adviser'))" class="num">Adviser</th>
|
||||
<th id="Item.Value.Smart" class="num">Smart</th>
|
||||
<th id="(RetOpenBlock(Item.BlockNumCreate,1))" class="num">Block Num</th>
|
||||
<!--<th id="Item.Arr[0].BlockNum" class="num">0</th>-->
|
||||
|
@ -1660,7 +1661,7 @@
|
|||
<!--<th id="GetHexFromArr(Item.SumHash)" class="hash">SumHash</th>-->
|
||||
<th id="Item.TrDataLen" class="num">Bytes</th>
|
||||
<th id="Item.Power" class="num">Pow</th>
|
||||
<th id="Item.Miner" class="num">Miner</th>
|
||||
<th id="(RetHistoryAccount(Item,'Miner'))" class="num">Miner</th>
|
||||
|
||||
|
||||
<!--<th id="GetHexFromArr(Item.Hash1)" class="hash">Hash1</th>-->
|
||||
|
|
|
@ -516,6 +516,17 @@
|
|||
<script>
|
||||
//SEND
|
||||
setInterval(CheckSending,1000);
|
||||
|
||||
function OpenAddressBook()
|
||||
{
|
||||
return;
|
||||
var bVisible=IsVisibleBlock("idAddressBook");
|
||||
SetVisibleBlock("idAddressBook",!bVisible);
|
||||
}
|
||||
function CloaseAddressBook()
|
||||
{
|
||||
OpenAddressBook();
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
|
@ -876,6 +887,34 @@
|
|||
left:0;
|
||||
}
|
||||
|
||||
.abook
|
||||
{
|
||||
width: 26px;
|
||||
height: 26px;
|
||||
padding: 0 0 0 10px;
|
||||
margin: 0 0 -10px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
#idAddressBook
|
||||
{
|
||||
z-index:100;
|
||||
position:absolute;
|
||||
height:200px;
|
||||
width:300px;
|
||||
top:150px;
|
||||
left:0;
|
||||
transform: translateX(50vw) translateX(-320px);
|
||||
|
||||
background: #f1ffda;
|
||||
color: black;
|
||||
text-align: left;
|
||||
border: 1px solid #782019;
|
||||
border-radius: 5px;
|
||||
box-shadow: 0 0 0 1px darkgrey;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
|
||||
</head>
|
||||
|
@ -1001,7 +1040,7 @@
|
|||
</tr>
|
||||
<tr><td> </td><td><DIV id="idNameTo" class="smallbold"></DIV></td></tr>
|
||||
<tr>
|
||||
<td>Pay to</td>
|
||||
<td>Pay to<img src="./PIC/address_book.png" onclick="OpenAddressBook()" class="abook"></td>
|
||||
<td>
|
||||
<INPUT style="float: left" type="string" id="idTo" value="" oninput="OnEditIdTo()" placeholder="Payee (required)" >
|
||||
</td>
|
||||
|
@ -1180,6 +1219,18 @@
|
|||
</DIV>
|
||||
</DIV>
|
||||
|
||||
<DIV id="idAddressBook" style="display: none">
|
||||
<DIV align="center">
|
||||
<H3>Address book</H3>
|
||||
</DIV>
|
||||
20 VTOOLS del<BR>
|
||||
20 VTOOLS del<BR>
|
||||
20 VTOOLS del<BR>
|
||||
<!--<BR>-->
|
||||
<!--<button class="radius" onclick="CloaseAddressBook()">Close</button>-->
|
||||
</DIV>
|
||||
|
||||
|
||||
<DIV id="idStableScroll" align='center'>
|
||||
<A href="https://terafoundation.org/">Web</A>
|
||||
<A href="https://bitcointalk.org/index.php?topic=4573801.0">ANN</A>
|
||||
|
|
|
@ -45,7 +45,7 @@
|
|||
PrevEditContent[Name]=elem.innerHTML;
|
||||
var Path=EditMap[Name];
|
||||
if(Path)
|
||||
GetDataWebEdit("/GetFileContent",{Path:Path,Password:GetPassword()},function (Data)
|
||||
GetData("/GetFileContent",{Path:Path,Password:GetPassword()},function (Data)
|
||||
{
|
||||
//console.log("result="+JSON.stringify(Data));
|
||||
elem.innerText=Data.Body;
|
||||
|
@ -62,7 +62,7 @@
|
|||
var elem2=ByID("Edit"+Name);
|
||||
var Path=EditMap[Name];
|
||||
if(Path)
|
||||
GetDataWebEdit("/SaveFileContent",{Path:Path,Password:GetPassword(),Body:elem2.innerText},function (Data)
|
||||
GetData("/SaveFileContent",{Path:Path,Password:GetPassword(),Body:elem2.innerText},function (Data)
|
||||
{
|
||||
if(Data.result)
|
||||
//PrevEditContent[Name]=GetToolbarHTML(Name)+Data.Body;
|
||||
|
@ -90,7 +90,7 @@
|
|||
{
|
||||
return document.getElementById(id);
|
||||
}
|
||||
function GetDataWebEdit(Method, ObjPost, Func)
|
||||
function GetData(Method, ObjPost, Func)
|
||||
{
|
||||
//console.log(Method);
|
||||
var serv=new XMLHttpRequest();
|
||||
|
|
After Width: | Height: | Size: 85 KiB |
After Width: | Height: | Size: 43 KiB |
After Width: | Height: | Size: 63 KiB |
After Width: | Height: | Size: 42 KiB |
After Width: | Height: | Size: 37 KiB |
After Width: | Height: | Size: 73 KiB |
After Width: | Height: | Size: 68 KiB |
|
@ -0,0 +1,14 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
width="510px" height="510px" viewBox="0 0 510 510" style="enable-background:new 0 0 510 510;" xml:space="preserve" fill="#fff">
|
||||
<g>
|
||||
<g id="post-linkedin">
|
||||
<path d="M459,0H51C22.95,0,0,22.95,0,51v408c0,28.05,22.95,51,51,51h408c28.05,0,51-22.95,51-51V51C510,22.95,487.05,0,459,0z
|
||||
M153,433.5H76.5V204H153V433.5z M114.75,160.65c-25.5,0-45.9-20.4-45.9-45.9s20.4-45.9,45.9-45.9s45.9,20.4,45.9,45.9
|
||||
S140.25,160.65,114.75,160.65z M433.5,433.5H357V298.35c0-20.399-17.85-38.25-38.25-38.25s-38.25,17.851-38.25,38.25V433.5H204
|
||||
V204h76.5v30.6c12.75-20.4,40.8-35.7,63.75-35.7c48.45,0,89.25,40.8,89.25,89.25V433.5z"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 1001 B |
|
@ -0,0 +1,16 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 382 382" style="enable-background:new 0 0 382 382;" xml:space="preserve" width="30" height="30">
|
||||
<path style="fill:#0077B7;" d="M347.445,0H34.555C15.471,0,0,15.471,0,34.555v312.889C0,366.529,15.471,382,34.555,382h312.889
|
||||
C366.529,382,382,366.529,382,347.444V34.555C382,15.471,366.529,0,347.445,0z M118.207,329.844c0,5.554-4.502,10.056-10.056,10.056
|
||||
H65.345c-5.554,0-10.056-4.502-10.056-10.056V150.403c0-5.554,4.502-10.056,10.056-10.056h42.806
|
||||
c5.554,0,10.056,4.502,10.056,10.056V329.844z M86.748,123.432c-22.459,0-40.666-18.207-40.666-40.666S64.289,42.1,86.748,42.1
|
||||
s40.666,18.207,40.666,40.666S109.208,123.432,86.748,123.432z M341.91,330.654c0,5.106-4.14,9.246-9.246,9.246H286.73
|
||||
c-5.106,0-9.246-4.14-9.246-9.246v-84.168c0-12.556,3.683-55.021-32.813-55.021c-28.309,0-34.051,29.066-35.204,42.11v97.079
|
||||
c0,5.106-4.139,9.246-9.246,9.246h-44.426c-5.106,0-9.246-4.14-9.246-9.246V149.593c0-5.106,4.14-9.246,9.246-9.246h44.426
|
||||
c5.106,0,9.246,4.14,9.246,9.246v15.655c10.497-15.753,26.097-27.912,59.312-27.912c73.552,0,73.131,68.716,73.131,106.472
|
||||
L341.91,330.654L341.91,330.654z"/>
|
||||
<g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 62 KiB |
After Width: | Height: | Size: 4.7 KiB |
|
@ -0,0 +1,13 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 492.004 492.004" style="enable-background:new 0 0 492.004 492.004;" xml:space="preserve" fill="#fff">
|
||||
<g>
|
||||
<g>
|
||||
<path d="M382.678,226.804L163.73,7.86C158.666,2.792,151.906,0,144.698,0s-13.968,2.792-19.032,7.86l-16.124,16.12
|
||||
c-10.492,10.504-10.492,27.576,0,38.064L293.398,245.9l-184.06,184.06c-5.064,5.068-7.86,11.824-7.86,19.028
|
||||
c0,7.212,2.796,13.968,7.86,19.04l16.124,16.116c5.068,5.068,11.824,7.86,19.032,7.86s13.968-2.792,19.032-7.86L382.678,265
|
||||
c5.076-5.084,7.864-11.872,7.848-19.088C390.542,238.668,387.754,231.884,382.678,226.804z"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 861 B |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 60 KiB |
After Width: | Height: | Size: 8.5 KiB |
After Width: | Height: | Size: 37 KiB |
After Width: | Height: | Size: 53 KiB |
|
@ -234,7 +234,7 @@
|
|||
<div class="col-md-6">
|
||||
<div class="about bg-grey">
|
||||
<h4>Traditional Blockchain</h3>
|
||||
<p><img src="../PIC/sbch.png" /></p>
|
||||
<p><img src="../PIC/sbch.png" class="img img--100" /></p>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /Key Feature -->
|
||||
|
@ -243,7 +243,7 @@
|
|||
<div class="col-md-6">
|
||||
<div class="about bg-grey" style="height: 315px;">
|
||||
<h4>TERA Blockchain</h3>
|
||||
<p><img src="../PIC/tbch.png" /></p>
|
||||
<p><img src="../PIC/tbch.png" class="img img--100" /></p>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /Key Feature -->
|
||||
|
@ -358,53 +358,55 @@
|
|||
<h2 class="title md-down-left">Technologie</h2>
|
||||
</div>
|
||||
<!-- /Section header -->
|
||||
<div class="no-more-tables">
|
||||
<table class="table table-bordered">
|
||||
<thead class="cf">
|
||||
<tr>
|
||||
<th>Max Supply</th>
|
||||
<th>Ausgabedatum</th>
|
||||
<th>Konsens</th>
|
||||
<th>Algorithmus</th>
|
||||
<th>Programmiersprache</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>1,000,000,000</td>
|
||||
<td>01. Juli 2018</td>
|
||||
<td>POW</td>
|
||||
<td>sha3, secp256k1</td>
|
||||
<td>Javascript</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<table class="table table-bordered">
|
||||
<thead class="cf">
|
||||
<tr>
|
||||
<th>Blockgröße</th>
|
||||
<th>Pre-mine</th>
|
||||
<th>Programmquellen</th>
|
||||
<th>Explorer</th>
|
||||
<th>Plattform</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>120 KB</td>
|
||||
<td>5%</td>
|
||||
<td>
|
||||
<a href="https://sourceforge.net/p/tera/code/ci/master/tree/" target="_blank" style="font-size: 14px;">sourceforge.net</a>,
|
||||
<a href="https://gitlab.com/terafoundation/tera" target="_blank" style="font-size: 14px;">gitlab.com</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="https://terafoundation.org/explorer.html" target="_blank" style="font-size: 14px;">terafoundation.org</a>
|
||||
</td>
|
||||
<td>NodeJS</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<dl class="spec-list">
|
||||
<div class="spec-list__item">
|
||||
<dt class="spec-list__title">Max Supply</dt>
|
||||
<dd class="spec-list__value">1,000,000,000</dd>
|
||||
</div>
|
||||
<div class="spec-list__item">
|
||||
<dt class="spec-list__title">Ausgabedatum</dt>
|
||||
<dd class="spec-list__value">01. Juli 2018</dd>
|
||||
</div>
|
||||
<div class="spec-list__item">
|
||||
<dt class="spec-list__title">Konsens</dt>
|
||||
<dd class="spec-list__value">POW</dd>
|
||||
</div>
|
||||
<div class="spec-list__item">
|
||||
<dt class="spec-list__title">Algorithmus</dt>
|
||||
<dd class="spec-list__value">sha3, secp256k1</dd>
|
||||
</div>
|
||||
<div class="spec-list__item">
|
||||
<dt class="spec-list__title">Programmiersprache</dt>
|
||||
<dd class="spec-list__value">JavaScript</dd>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="spec-list__item">
|
||||
<dt class="spec-list__title">Blockgröße</dt>
|
||||
<dd class="spec-list__value">130 KB</dd>
|
||||
</div>
|
||||
<div class="spec-list__item">
|
||||
<dt class="spec-list__title">Pre-mine</dt>
|
||||
<dd class="spec-list__value">5%</dd>
|
||||
</div>
|
||||
<div class="spec-list__item">
|
||||
<dt class="spec-list__title">Programmquellen</dt>
|
||||
<dd class="spec-list__value">
|
||||
<a href="https://sourceforge.net/p/tera/code/ci/master/tree/" target="_blank">sourceforge.net</a>,
|
||||
<a href="https://gitlab.com/terafoundation/tera" target="_blank">gitlab.com</a>
|
||||
</dd>
|
||||
</div>
|
||||
<div class="spec-list__item">
|
||||
<dt class="spec-list__title">Explorer</dt>
|
||||
<dd class="spec-list__value">
|
||||
<a href="https://terafoundation.org/explorer.html" target="_blank">terafoundation.org</a>
|
||||
</dd>
|
||||
</div>
|
||||
<div class="spec-list__item">
|
||||
<dt class="spec-list__title">Plattform</dt>
|
||||
<dd class="spec-list__value">NodeJS</dd>
|
||||
</div>
|
||||
</dl>
|
||||
|
||||
</div>
|
||||
<!-- /Row -->
|
||||
|
|
After Width: | Height: | Size: 824 B |
After Width: | Height: | Size: 891 B |
After Width: | Height: | Size: 874 B |
After Width: | Height: | Size: 876 B |
After Width: | Height: | Size: 875 B |
After Width: | Height: | Size: 879 B |
After Width: | Height: | Size: 876 B |
After Width: | Height: | Size: 875 B |
After Width: | Height: | Size: 874 B |
After Width: | Height: | Size: 876 B |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1.0 KiB |
After Width: | Height: | Size: 852 B |
After Width: | Height: | Size: 828 B |
After Width: | Height: | Size: 883 B |
After Width: | Height: | Size: 883 B |
After Width: | Height: | Size: 883 B |
After Width: | Height: | Size: 883 B |
After Width: | Height: | Size: 872 B |
After Width: | Height: | Size: 834 B |
|
@ -0,0 +1,28 @@
|
|||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>P-MAN</TITLE>
|
||||
<!--
|
||||
|
||||
.......SECRET COMMAND.......
|
||||
|
||||
This game is very hard to clear, so I give you SECRET COMMAND.
|
||||
|
||||
"EASY" EASY MODE (ENEMY 3/4 SPEED)
|
||||
"EASIEST" EASIEST MODE (ENEMY 1/2 SPEED)
|
||||
|
||||
Before you start, type "EASY" or "EASIEST" in SCORE WINDOW.
|
||||
Perhaps you can clear it easily.
|
||||
|
||||
|
||||
//-->
|
||||
</HEAD>
|
||||
<FRAMESET COLS="336,*">
|
||||
<FRAME SRC="pman.html" NAME="Pman" NORESIZE SCROLLING="NO">
|
||||
<FRAME SRC="pcontrol.html" NAME="Pcontrol" NORESIZE SCROLLING="NO">
|
||||
</FRAMESET>
|
||||
<NOFRAME>
|
||||
You must get Netscape 3.0 or later.
|
||||
|
||||
|
||||
</NOFRAME>
|
||||
</HTML>
|
After Width: | Height: | Size: 831 B |
|
@ -0,0 +1,194 @@
|
|||
<HTML>
|
||||
<FORM NAME="Pcontrol">
|
||||
<HEAD>
|
||||
<TITLE>Pcontrol</TITLE>
|
||||
|
||||
<SCRIPT LANGUAGE="JavaScript">
|
||||
<!--
|
||||
var timerID = null
|
||||
var timerINT = 20 //interval (ms)
|
||||
|
||||
var playflag=0;
|
||||
var inkey=0
|
||||
var tkey = "1"
|
||||
|
||||
var icons = new Array(20); //btn image
|
||||
icons[1]=new Image();icons[1].src="btn14.gif";
|
||||
icons[2]=new Image();icons[2].src="btn11.gif";
|
||||
icons[3]=new Image();icons[3].src="btn12.gif";
|
||||
icons[4]=new Image();icons[4].src="btn13.gif";
|
||||
icons[11]=new Image();icons[11].src="btn24.gif";
|
||||
icons[12]=new Image();icons[12].src="btn21.gif";
|
||||
icons[13]=new Image();icons[13].src="btn22.gif";
|
||||
icons[14]=new Image();icons[14].src="btn23.gif";
|
||||
|
||||
systm=""
|
||||
ver=navigator.appVersion
|
||||
Nv=ver.charAt(0)
|
||||
len=ver.length
|
||||
for(iln=0;iln<len;iln++) if(ver.charAt(iln)=="(") break
|
||||
systm = ver.charAt(iln+1).toUpperCase()
|
||||
|
||||
if (systm != "C"){if (Nv >= 4){
|
||||
document.onkeydown = keyDown
|
||||
document.captureEvents(Event.KEYDOWN)
|
||||
}}
|
||||
|
||||
function keyDown(DnEvents){
|
||||
k=DnEvents.which
|
||||
if (k == 52){keyscan(1)} //4
|
||||
if (k == 56){keyscan(2)} //8
|
||||
if (k == 54){keyscan(3)} //6
|
||||
if (k == 50){keyscan(4)} //2
|
||||
}
|
||||
|
||||
function interval1(){
|
||||
clearTimeout(timerID)
|
||||
clearTimeout(timerID)
|
||||
clearTimeout(timerID)
|
||||
clearTimeout(timerID)
|
||||
clearTimeout(timerID)
|
||||
clearTimeout(timerID)
|
||||
clearTimeout(timerID)
|
||||
clearTimeout(timerID)
|
||||
clearTimeout(timerID)
|
||||
clearTimeout(timerID)
|
||||
//10key scan
|
||||
if (systm == "C"){Nv=3}
|
||||
if (Nv <= 3){
|
||||
|
||||
document.Pcontrol.DUM.click()
|
||||
tkey=document.Pcontrol.tenkey.value
|
||||
if (tkey != ""){
|
||||
document.Pcontrol.tenkey.value=""
|
||||
document.Pcontrol.tenkey.focus()
|
||||
if (tkey.indexOf("4") >= 0){keyscan(1)}
|
||||
if (tkey.indexOf("8") >= 0){keyscan(2)}
|
||||
if (tkey.indexOf("6") >= 0){keyscan(3)}
|
||||
if (tkey.indexOf("2") >= 0){keyscan(4)}
|
||||
}else{
|
||||
document.Pcontrol.tenkey.focus()
|
||||
}
|
||||
}else{
|
||||
|
||||
|
||||
}
|
||||
timerID = setTimeout("interval1()",timerINT)
|
||||
}
|
||||
|
||||
function intSTOP(){
|
||||
clearTimeout(timerID)
|
||||
}
|
||||
|
||||
|
||||
//btn write
|
||||
function SetBtn(flag, position){
|
||||
document.images[position].src=icons[flag].src;
|
||||
}
|
||||
|
||||
//no operation
|
||||
function nop(){}
|
||||
|
||||
//MODE change
|
||||
function MODEcheck(){}
|
||||
|
||||
//starter
|
||||
function starter(){
|
||||
playflag=playflag+1
|
||||
if (playflag == 1){SetBtn(11,1)
|
||||
SetBtn(2,0)
|
||||
SetBtn(3,2)
|
||||
SetBtn(4,3)
|
||||
tkey=""
|
||||
document.Pcontrol.tenkey.value=""
|
||||
document.Pcontrol.tenkey.focus()
|
||||
timerID = setTimeout("interval1()",timerINT)
|
||||
}
|
||||
if (playflag == 2){playflag=0
|
||||
SetBtn(1,1)
|
||||
SetBtn(2,0)
|
||||
SetBtn(3,2)
|
||||
SetBtn(4,3)
|
||||
document.Pcontrol.tenkey.value=""
|
||||
intSTOP()
|
||||
document.Pcontrol.MES.value="Click START";
|
||||
}
|
||||
parent.Pman.document.PMAN.CTRL.value="11";
|
||||
}
|
||||
|
||||
//key scan
|
||||
function keyscan(kscan){
|
||||
inkey=kscan;
|
||||
if (playflag == 1){
|
||||
tmpvalue=parent.Pman.document.PMAN.CTRL.value
|
||||
if (tmpvalue != "0"){
|
||||
parent.Pman.document.PMAN.CTRL.value=inkey
|
||||
if (inkey == "1"){
|
||||
SetBtn(11,1)
|
||||
SetBtn(2,0)
|
||||
SetBtn(3,2)
|
||||
SetBtn(4,3)
|
||||
}
|
||||
if (inkey == "2"){
|
||||
SetBtn(1,1)
|
||||
SetBtn(12,0)
|
||||
SetBtn(3,2)
|
||||
SetBtn(4,3)
|
||||
}
|
||||
if (inkey == "3"){
|
||||
SetBtn(1,1)
|
||||
SetBtn(2,0)
|
||||
SetBtn(13,2)
|
||||
SetBtn(4,3)
|
||||
}
|
||||
if (inkey == "4"){
|
||||
SetBtn(1,1)
|
||||
SetBtn(2,0)
|
||||
SetBtn(3,2)
|
||||
SetBtn(14,3)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//-->
|
||||
</SCRIPT>
|
||||
</HEAD>
|
||||
|
||||
|
||||
<BODY BGCOLOR="#FFFF00" TEXT="#004400" LINK="#FFFF00" VLINK="#FFFF00">
|
||||
|
||||
<CENTER><H1>P-MAN</H1></CENTER><BR>
|
||||
<H3><CENTER>SCORE:<INPUT TYPE="text" NAME="MES" SIZE=13 VALUE = "Click START" ></CENTER></H3><BR>
|
||||
|
||||
<CENTER><A HREF="javascript:keyscan(2)" onMouseOver="keyscan(2)"><IMG WIDTH=64 HEIGHT=32 SRC="btn11.gif"></A><BR><A HREF="javascript:keyscan(1)" onMouseOver="keyscan(1)"><IMG WIDTH=64 HEIGHT=32 SRC="btn14.gif"></A><A HREF="javascript:keyscan(3)" onMouseOver="keyscan(3)"><IMG WIDTH=64 HEIGHT=32 SRC="btn12.gif"></A><BR><A HREF="javascript:keyscan(4)" onMouseOver="keyscan(4)"><IMG WIDTH=64 HEIGHT=32 SRC="btn13.gif"></A><BR></CENTER><BR><P>
|
||||
|
||||
<CENTER><A HREF="javascript:starter()"><IMG SRC="btn3.gif"></A></CENTER>
|
||||
<CENTER><A HREF="javascript:history.back()" TARGET="_top"><IMG SRC="btn4.gif"></A></CENTER>
|
||||
|
||||
<SCRIPT LANGUAGE="JavaScript">
|
||||
<!--
|
||||
ver=navigator.appVersion
|
||||
len=ver.length
|
||||
for(iln=0;iln<len;iln++) if(ver.charAt(iln)=="(") break
|
||||
systm = ver.charAt(iln+1).toUpperCase()
|
||||
if(systm !="C"){
|
||||
document.write("<BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P>")
|
||||
document.write("<BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P>")
|
||||
document.write("<BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P>")
|
||||
document.write("<BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P>")
|
||||
document.write("<BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P>")
|
||||
}
|
||||
|
||||
//-->
|
||||
</SCRIPT>
|
||||
|
||||
|
||||
|
||||
<INPUT TYPE="text" NAME="tenkey" SIZE=1 VALUE = "" >
|
||||
<INPUT TYPE="button" NAME="DUM" VALUE="">
|
||||
|
||||
</BODY>
|
||||
</FORM>
|
||||
</HTML>
|
|
@ -0,0 +1,664 @@
|
|||
<HTML>
|
||||
<FORM NAME="PMAN">
|
||||
<HEAD>
|
||||
<TITLE>Pman</TITLE>
|
||||
|
||||
<SCRIPT LANGUAGE="JavaScript">
|
||||
<!--
|
||||
var timerID = null
|
||||
var timerINT = 300 //interval (ms)
|
||||
var tmps = new Array(20); //temp array
|
||||
var mapd = new Array(420); //map data array
|
||||
var inkey = 0 //mouse status
|
||||
var acti = 0 //on play and key flag
|
||||
var ptnflg = 0 //paturn flag
|
||||
var myX = 0
|
||||
var myY = 0
|
||||
var myPOS=0
|
||||
var myPTN=4
|
||||
var myPOSold=313
|
||||
var score=0
|
||||
var remain=157
|
||||
var ofno=0
|
||||
var acno=0
|
||||
var enno=0
|
||||
var oldDOT = new Array(5);
|
||||
var enewait = new Array(5);
|
||||
var eneacti = new Array(5);
|
||||
var eneX = new Array(5);
|
||||
var eneY = new Array(5);
|
||||
var enePOS = new Array(5);
|
||||
var enePOSold = new Array(5);
|
||||
var bluewait = 0
|
||||
var blueflag=1
|
||||
var blueacti=0
|
||||
var bonus = 100
|
||||
var URAWAZA = 1
|
||||
var URAflag = 0
|
||||
|
||||
var icons = new Array(20); //chr image
|
||||
icons[0] =new Image();icons[0].src ="bl0.gif";
|
||||
icons[1] =new Image();icons[1].src ="block.gif";
|
||||
icons[2] =new Image();icons[2].src ="dots.gif";
|
||||
icons[3] =new Image();icons[3].src ="dotl.gif";
|
||||
icons[4] =new Image();icons[4].src ="pman0.gif";
|
||||
icons[5] =new Image();icons[5].src ="pman1.gif";
|
||||
icons[6] =new Image();icons[6].src ="pman2.gif";
|
||||
icons[7] =new Image();icons[7].src ="pman3.gif";
|
||||
icons[8] =new Image();icons[8].src ="pman4.gif";
|
||||
icons[9] =new Image();icons[9].src ="gate.gif";
|
||||
icons[10]=new Image();icons[10].src="enemy1.gif";
|
||||
icons[11]=new Image();icons[11].src="enemy2.gif";
|
||||
icons[12]=new Image();icons[12].src="enemy3.gif";
|
||||
icons[13]=new Image();icons[13].src="enemy4.gif";
|
||||
icons[14]=new Image();icons[14].src="enemy5.gif";
|
||||
|
||||
//restarter
|
||||
function restarter(){
|
||||
document.PMAN.CTRL.value="0"
|
||||
tmpacti="0"
|
||||
readstyle()
|
||||
PARAset()
|
||||
}
|
||||
|
||||
|
||||
//init
|
||||
function init(){
|
||||
PARAset()
|
||||
|
||||
timerID = setTimeout("interval1()",timerINT)
|
||||
|
||||
}
|
||||
|
||||
function PARAset(){
|
||||
score=0
|
||||
remain=157
|
||||
myX=9
|
||||
myY=16
|
||||
myPOSold=313
|
||||
ptnflg=0
|
||||
enewait[1]=0
|
||||
enewait[2]=10
|
||||
enewait[3]=20
|
||||
enewait[4]=30
|
||||
eneacti[1]=1
|
||||
eneacti[2]=2
|
||||
eneacti[3]=1
|
||||
eneacti[4]=2
|
||||
eneX[1]=9
|
||||
eneY[1]=8
|
||||
eneX[2]=8
|
||||
eneY[2]=10
|
||||
eneX[3]=9
|
||||
eneY[3]=10
|
||||
eneX[4]=10
|
||||
eneY[4]=10
|
||||
enePOSold[1]=161
|
||||
enePOSold[2]=198
|
||||
enePOSold[3]=199
|
||||
enePOSold[4]=200
|
||||
oldDOT[1]=0
|
||||
oldDOT[2]=0
|
||||
oldDOT[3]=0
|
||||
oldDOT[4]=0
|
||||
bluewait=0
|
||||
blueflag=1
|
||||
blueacti=0
|
||||
bonus = 100
|
||||
URAWAZA = 1
|
||||
URAflag = 0
|
||||
}
|
||||
|
||||
|
||||
function interval1(){
|
||||
tmpacti=document.PMAN.CTRL.value
|
||||
clearTimeout(timerID)
|
||||
timerID = setTimeout("interval1()",timerINT)
|
||||
|
||||
//restart check
|
||||
if (tmpacti == "11"){
|
||||
tmpURA=parent.Pcontrol.document.Pcontrol.MES.value
|
||||
URAWAZA=1
|
||||
URAflag=0
|
||||
if (tmpURA == "EASY"){URAWAZA=4}
|
||||
if (tmpURA == "EASIEST"){URAWAZA=2}
|
||||
|
||||
if (score == 0){document.PMAN.CTRL.value="1"
|
||||
tmpacti="1"
|
||||
}else{restarter()}
|
||||
}
|
||||
|
||||
//active flag check
|
||||
if (tmpacti != "0"){
|
||||
blueflag=1
|
||||
if (bluewait > 0){
|
||||
bluewait=bluewait-1
|
||||
blueflag=-1
|
||||
}else{
|
||||
blueacti=0
|
||||
}
|
||||
|
||||
//new left check
|
||||
if (tmpacti == "1"){
|
||||
tmppos=myY*19+myX-1
|
||||
if (mapd[tmppos] != 1){acti=1}
|
||||
if (myX == 0){acti=1}
|
||||
}
|
||||
//new right check
|
||||
if (tmpacti == 3){
|
||||
tmppos=myY*19+myX+1
|
||||
if (mapd[tmppos] != 1){acti=3}
|
||||
if (myX == 18){acti=3}
|
||||
}
|
||||
//new up check
|
||||
if (tmpacti == 2){
|
||||
tmppos=myY*19-19+myX
|
||||
if (mapd[tmppos] != 1){acti=2}
|
||||
}
|
||||
//new down check
|
||||
if (tmpacti == 4){
|
||||
tmppos=myY*19+19+myX
|
||||
if (mapd[tmppos] != 1){acti=4}
|
||||
}
|
||||
|
||||
|
||||
|
||||
//left check
|
||||
if (acti == 1){
|
||||
tmppos=myY*19+myX-1
|
||||
if (mapd[tmppos] != 1){myX=myX-1
|
||||
}else{if (myX == 0){myX=18
|
||||
}else{if (mapd[tmppos-18] != 1){acti=2
|
||||
parent.Pcontrol.document.Pcontrol.tenkey.value="8"
|
||||
}else{acti=4
|
||||
parent.Pcontrol.document.Pcontrol.tenkey.value="2"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//right check
|
||||
if (acti == 3){
|
||||
tmppos=myY*19+myX+1
|
||||
if (mapd[tmppos] != 1){myX=myX+1
|
||||
}else{if (myX == 18){myX=0
|
||||
}else{if (mapd[tmppos-20] != 1){acti=2
|
||||
parent.Pcontrol.document.Pcontrol.tenkey.value="8"
|
||||
}else{acti=4
|
||||
parent.Pcontrol.document.Pcontrol.tenkey.value="2"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//up check
|
||||
if (acti == 2){
|
||||
tmppos=myY*19-19+myX
|
||||
if (mapd[tmppos] != 1){myY=myY-1
|
||||
}else{if (mapd[tmppos+18] != 1){acti=1
|
||||
myX=myX-1
|
||||
parent.Pcontrol.document.Pcontrol.tenkey.value="4"
|
||||
}else{acti=3
|
||||
myX=myX+1
|
||||
parent.Pcontrol.document.Pcontrol.tenkey.value="6"
|
||||
}
|
||||
}
|
||||
}
|
||||
//down check
|
||||
if (acti == 4){
|
||||
tmppos=myY*19+19+myX
|
||||
if (mapd[tmppos] != 1){myY=myY+1
|
||||
}else{if (mapd[tmppos-20] != 1){acti=1
|
||||
myX=myX-1
|
||||
parent.Pcontrol.document.Pcontrol.tenkey.value="4"
|
||||
}else{acti=3
|
||||
myX=myX+1
|
||||
parent.Pcontrol.document.Pcontrol.tenkey.value="6"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//move P-MAN
|
||||
myPOS=myY*19+myX
|
||||
ptnflg=ptnflg+1
|
||||
myPTN=4
|
||||
if (ptnflg == 2){ptnflg=0
|
||||
}else{myPTN=4+acti
|
||||
}
|
||||
|
||||
//move enemy
|
||||
|
||||
tmpURAflag=1
|
||||
URAflag=URAflag+1
|
||||
if (URAflag >= URAWAZA){
|
||||
tmpURAflag=0
|
||||
URAflag=0
|
||||
}
|
||||
if (URAWAZA == 1){tmpURAflag=1}
|
||||
|
||||
if (blueflag == -1){
|
||||
blueacti=blueacti+1
|
||||
if (blueacti == 2){blueacti=0}
|
||||
}
|
||||
|
||||
for (ij=1; ij<5; ij++){
|
||||
enno=ij
|
||||
if (blueacti !=1){
|
||||
if (tmpURAflag == 1){calenemy()}
|
||||
}
|
||||
enePOS[ij]=eneY[ij]*19+eneX[ij]
|
||||
}
|
||||
|
||||
|
||||
//score check
|
||||
if (mapd[myPOS] == 2){mapd[myPOS]=0
|
||||
remain=remain-1
|
||||
score=score+10}
|
||||
if (mapd[myPOS] == 3){mapd[myPOS]=0
|
||||
remain=remain-1
|
||||
bluewait=30
|
||||
blueacti=0
|
||||
bonus=100
|
||||
score=score+50}
|
||||
parent.Pcontrol.document.Pcontrol.MES.value=score+"pts"
|
||||
|
||||
//ending
|
||||
for (iz=1; iz<5; iz++){
|
||||
if (enePOSold[iz] == myPOS){
|
||||
if (enePOS[iz] == myPOSold){
|
||||
enePOS[iz]=myPOS
|
||||
}
|
||||
}
|
||||
if (enePOS[iz] == myPOS){
|
||||
if (blueflag == 1){
|
||||
document.PMAN.CTRL.value="0"
|
||||
parent.Pcontrol.document.Pcontrol.MES.value=score+"pts NG"
|
||||
}else{
|
||||
enewait[iz]=5
|
||||
enePOS[iz]=199
|
||||
eneX[iz]=9
|
||||
eneY[iz]=10
|
||||
eneacti[iz]=1
|
||||
score=score+bonus
|
||||
bonus=bonus*2
|
||||
parent.Pcontrol.document.Pcontrol.MES.value=score+"pts"
|
||||
}
|
||||
}
|
||||
}
|
||||
if (remain == 0){document.PMAN.CTRL.value="0"
|
||||
parent.Pcontrol.document.Pcontrol.MES.value=score+"pts OK"
|
||||
}
|
||||
|
||||
|
||||
//old CHR clear
|
||||
SetIcon(0,myPOSold)
|
||||
for (ij=1; ij<5; ij++){
|
||||
SetIcon(oldDOT[ij],enePOSold[ij])
|
||||
}
|
||||
|
||||
//new CHR write
|
||||
mapd[myPOS]=0
|
||||
SetIcon(myPTN,myPOS)
|
||||
myPOSold=myPOS
|
||||
for (ij=1; ij<5; ij++){
|
||||
tmpenePOS=enePOS[ij]
|
||||
oldDOT[ij]=mapd[tmpenePOS]
|
||||
tmpenePTN=14
|
||||
if (bluewait == 0){tmpenePTN=9+ij}
|
||||
if (bluewait == 2){tmpenePTN=9+ij}
|
||||
if (bluewait == 4){tmpenePTN=9+ij}
|
||||
if (bluewait == 6){tmpenePTN=9+ij}
|
||||
if (bluewait == 8){tmpenePTN=9+ij}
|
||||
if (bluewait == 10){tmpenePTN=9+ij}
|
||||
|
||||
SetIcon(tmpenePTN,tmpenePOS)
|
||||
enePOSold[ij]=enePOS[ij]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//paturn write
|
||||
function SetIcon(flag, position){
|
||||
document.images[position].src=icons[flag].src;
|
||||
}
|
||||
|
||||
|
||||
function readstyle(){
|
||||
for (id=0; id<22; id++){;
|
||||
for (ie=0; ie<19; ie++){;
|
||||
ig = tmps[id].charAt(ie);
|
||||
ih = id*19+ie;
|
||||
if (ig == "0"){mapd[ih] = 0};
|
||||
if (ig == "1"){mapd[ih] = 1};
|
||||
if (ig == "2"){mapd[ih] = 2};
|
||||
if (ig == "3"){mapd[ih] = 3};
|
||||
|
||||
SetIcon (mapd[ih],ih);
|
||||
};
|
||||
};
|
||||
SetIcon(9,180)
|
||||
SetIcon(10,161)
|
||||
SetIcon(11,198)
|
||||
SetIcon(12,199)
|
||||
SetIcon(13,200)
|
||||
}
|
||||
|
||||
|
||||
function calenemy(){
|
||||
if (enewait[enno] >= 1){
|
||||
if (enewait[enno] == 1){
|
||||
SetIcon(oldDOT[enno],enePOSold[enno])
|
||||
eneX[enno]=9
|
||||
eneY[enno]=8
|
||||
}
|
||||
enewait[enno]=enewait[enno]-1
|
||||
}else{
|
||||
if (enno == 1){enetype1()}
|
||||
if (enno == 2){enetype2()}
|
||||
if (enno == 3){enetype3()}
|
||||
if (enno == 4){enetype4()}
|
||||
}
|
||||
}
|
||||
|
||||
function offsetcal(acno){
|
||||
if (acno == 1){ofno=-1}
|
||||
if (acno == 2){ofno=-19}
|
||||
if (acno == 3){ofno=1}
|
||||
if (acno == 4){ofno=19}
|
||||
}
|
||||
|
||||
function eneXYcal(){
|
||||
if (eneacti[enno] == 1){eneX[enno]=eneX[enno]-1}
|
||||
if (eneacti[enno] == 2){eneY[enno]=eneY[enno]-1}
|
||||
if (eneacti[enno] == 3){eneX[enno]=eneX[enno]+1}
|
||||
if (eneacti[enno] == 4){eneY[enno]=eneY[enno]+1}
|
||||
}
|
||||
|
||||
function enetype1(){
|
||||
//crossing chaser
|
||||
|
||||
tmpLR=0
|
||||
tmpeneacti1=eneacti[enno]+1
|
||||
if (tmpeneacti1 >= 5){tmpeneacti1=tmpeneacti1-4}
|
||||
offsetcal(tmpeneacti1)
|
||||
tmpenepos=eneY[enno]*19+eneX[enno]+ofno
|
||||
if (mapd[tmpenepos] != 1){tmpLR=1}
|
||||
tmpeneacti1=eneacti[enno]+3
|
||||
if (tmpeneacti1 >= 5){tmpeneacti1=tmpeneacti1-4}
|
||||
offsetcal(tmpeneacti1)
|
||||
tmpenepos=eneY[enno]*19+eneX[enno]+ofno
|
||||
if (mapd[tmpenepos] != 1){tmpLR=1}
|
||||
if (eneX[enno] == 18){tmpLR=1}
|
||||
if (eneX[enno] == 0){tmpLR=1}
|
||||
if (tmpLR == 1){
|
||||
eneacti[enno]=0
|
||||
if (myX*blueflag >= eneX[enno]*blueflag){
|
||||
tmpenepos=eneY[enno]*19+eneX[enno]+1
|
||||
if (mapd[tmpenepos] != 1){eneacti[enno]=3}
|
||||
}else{
|
||||
tmpenepos=eneY[enno]*19+eneX[enno]-1
|
||||
if (mapd[tmpenepos] != 1){eneacti[enno]=1}
|
||||
}
|
||||
tmpsubY=myY-eneY[enno]
|
||||
if (tmpsubY <= 0){tmpsubY=-tmpsubY}
|
||||
tmpsubX=myX-eneX[enno]
|
||||
if (tmpsubX <= 0){tmpsubX=-tmpsubX}
|
||||
tmpsubXY=tmpsubY-tmpsubX
|
||||
if (eneacti[enno] == 0){tmpsubXY=1}
|
||||
if (tmpsubXY*blueflag >= 0){
|
||||
if (myY*blueflag >= eneY[enno]*blueflag){
|
||||
tmpenepos=eneY[enno]*19+eneX[enno]+19
|
||||
if (mapd[tmpenepos] != 1){eneacti[enno]=4}
|
||||
}else{
|
||||
tmpenepos=eneY[enno]*19+eneX[enno]-19
|
||||
if (mapd[tmpenepos] != 1){eneacti[enno]=2}
|
||||
}
|
||||
}
|
||||
if (eneacti[enno] == 0){
|
||||
tmpenepos=eneY[enno]*19+eneX[enno]-1
|
||||
if (mapd[tmpenepos] != 1){eneacti[enno]=1}
|
||||
if (eneacti[enno] == 0){
|
||||
tmpenepos=eneY[enno]*19+eneX[enno]-19
|
||||
if (mapd[tmpenepos] != 1){eneacti[enno]=2}
|
||||
if (eneacti[enno] == 0){
|
||||
tmpenepos=eneY[enno]*19+eneX[enno]+1
|
||||
if (mapd[tmpenepos] != 1){eneacti[enno]=3
|
||||
}else{eneacti[enno]=4
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
eneXYcal()
|
||||
}
|
||||
|
||||
function enetype2(){
|
||||
//straight lover
|
||||
|
||||
offsetcal(eneacti[enno])
|
||||
tmpenepos=eneY[enno]*19+eneX[enno]+ofno
|
||||
if (mapd[tmpenepos] == 1){
|
||||
eneacti[enno]=0
|
||||
if (myX*blueflag >= eneX[enno]*blueflag){
|
||||
tmpenepos=eneY[enno]*19+eneX[enno]+1
|
||||
if (mapd[tmpenepos] != 1){eneacti[enno]=3}
|
||||
}else{
|
||||
tmpenepos=eneY[enno]*19+eneX[enno]-1
|
||||
if (mapd[tmpenepos] != 1){eneacti[enno]=1}
|
||||
}
|
||||
tmpsubY=myY-eneY[enno]
|
||||
if (tmpsubY <= 0){tmpsubY=-tmpsubY}
|
||||
tmpsubX=myX-eneX[enno]
|
||||
if (tmpsubX <= 0){tmpsubX=-tmpsubX}
|
||||
tmpsubXY=tmpsubY-tmpsubX
|
||||
if (eneacti[enno] == 0){tmpsubXY=1}
|
||||
if (tmpsubXY*blueflag >= 0){
|
||||
if (myY*blueflag >= eneY[enno]*blueflag){
|
||||
tmpenepos=eneY[enno]*19+eneX[enno]+19
|
||||
if (mapd[tmpenepos] != 1){eneacti[enno]=4}
|
||||
}else{
|
||||
tmpenepos=eneY[enno]*19+eneX[enno]-19
|
||||
if (mapd[tmpenepos] != 1){eneacti[enno]=2}
|
||||
}
|
||||
}
|
||||
if (eneacti[enno] == 0){
|
||||
tmpenepos=eneY[enno]*19+eneX[enno]-1
|
||||
if (mapd[tmpenepos] != 1){eneacti[enno]=1}
|
||||
if (eneacti[enno] == 0){
|
||||
tmpenepos=eneY[enno]*19+eneX[enno]-19
|
||||
if (mapd[tmpenepos] != 1){eneacti[enno]=2}
|
||||
if (eneacti[enno] == 0){
|
||||
tmpenepos=eneY[enno]*19+eneX[enno]+1
|
||||
if (mapd[tmpenepos] != 1){eneacti[enno]=3
|
||||
}else{eneacti[enno]=4
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
eneXYcal()
|
||||
}
|
||||
|
||||
function enetype3(){
|
||||
//crossing turner
|
||||
|
||||
tmpeneacti1=eneacti[enno]+1
|
||||
if (tmpeneacti1 >= 5){tmpeneacti1=tmpeneacti1-4}
|
||||
tmptmpacti=eneacti[enno]
|
||||
eneacti[enno]=0
|
||||
turncheck()
|
||||
if (eneacti[enno] == 0){
|
||||
tmpeneacti1=eneacti[enno]+3
|
||||
if (tmpeneacti1 >= 5){tmpeneacti1=tmpeneacti1-4}
|
||||
turncheck()
|
||||
}
|
||||
if (eneacti[enno] == 0){
|
||||
eneacti[enno]=tmptmpacti
|
||||
|
||||
offsetcal(eneacti[enno])
|
||||
tmpenepos=eneY[enno]*19+eneX[enno]+ofno
|
||||
if (mapd[tmpenepos] == 1){
|
||||
|
||||
eneacti[enno]=0
|
||||
if (myX*blueflag >= eneX[enno]*blueflag){
|
||||
tmpenepos=eneY[enno]*19+eneX[enno]+1
|
||||
if (mapd[tmpenepos] != 1){eneacti[enno]=3}
|
||||
}else{
|
||||
tmpenepos=eneY[enno]*19+eneX[enno]-1
|
||||
if (mapd[tmpenepos] != 1){eneacti[enno]=1}
|
||||
}
|
||||
tmpsubY=myY-eneY[enno]
|
||||
if (tmpsubY <= 0){tmpsubY=-tmpsubY}
|
||||
tmpsubX=myX-eneX[enno]
|
||||
if (tmpsubX <= 0){tmpsubX=-tmpsubX}
|
||||
tmpsubXY=tmpsubY-tmpsubX
|
||||
if (eneacti[enno] == 0){tmpsubXY=1}
|
||||
if (tmpsubXY*blueflag >= 0){
|
||||
if (myY*blueflag >= eneY[enno]*blueflag){
|
||||
tmpenepos=eneY[enno]*19+eneX[enno]+19
|
||||
if (mapd[tmpenepos] != 1){eneacti[enno]=4}
|
||||
}else{
|
||||
tmpenepos=eneY[enno]*19+eneX[enno]-19
|
||||
if (mapd[tmpenepos] != 1){eneacti[enno]=2}
|
||||
}
|
||||
}
|
||||
if (eneacti[enno] == 0){
|
||||
tmpenepos=eneY[enno]*19+eneX[enno]-1
|
||||
if (mapd[tmpenepos] != 1){eneacti[enno]=1}
|
||||
if (eneacti[enno] == 0){
|
||||
tmpenepos=eneY[enno]*19+eneX[enno]-19
|
||||
if (mapd[tmpenepos] != 1){eneacti[enno]=2}
|
||||
if (eneacti[enno] == 0){
|
||||
tmpenepos=eneY[enno]*19+eneX[enno]+1
|
||||
if (mapd[tmpenepos] != 1){eneacti[enno]=3
|
||||
}else{eneacti[enno]=4
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
eneXYcal()
|
||||
}
|
||||
|
||||
function enetype4(){
|
||||
//everytime chaser
|
||||
|
||||
eneacti[enno]=0
|
||||
if (myX*blueflag >= eneX[enno]*blueflag){
|
||||
tmpenepos=eneY[enno]*19+eneX[enno]+1
|
||||
if (mapd[tmpenepos] != 1){eneacti[enno]=3}
|
||||
}else{
|
||||
tmpenepos=eneY[enno]*19+eneX[enno]-1
|
||||
if (mapd[tmpenepos] != 1){eneacti[enno]=1}
|
||||
}
|
||||
tmpsubY=myY-eneY[enno]
|
||||
if (tmpsubY <= 0){tmpsubY=-tmpsubY}
|
||||
tmpsubX=myX-eneX[enno]
|
||||
if (tmpsubX <= 0){tmpsubX=-tmpsubX}
|
||||
tmpsubXY=tmpsubY-tmpsubX
|
||||
if (eneacti[enno] == 0){tmpsubXY=1}
|
||||
if (tmpsubXY*blueflag >= 0){
|
||||
if (myY*blueflag >= eneY[enno]*blueflag){
|
||||
tmpenepos=eneY[enno]*19+eneX[enno]+19
|
||||
if (mapd[tmpenepos] != 1){eneacti[enno]=4}
|
||||
}else{
|
||||
tmpenepos=eneY[enno]*19+eneX[enno]-19
|
||||
if (mapd[tmpenepos] != 1){eneacti[enno]=2}
|
||||
}
|
||||
}
|
||||
if (eneacti[enno] == 0){
|
||||
tmpenepos=eneY[enno]*19+eneX[enno]-1
|
||||
if (mapd[tmpenepos] != 1){eneacti[enno]=1}
|
||||
if (eneacti[enno] == 0){
|
||||
tmpenepos=eneY[enno]*19+eneX[enno]-19
|
||||
if (mapd[tmpenepos] != 1){eneacti[enno]=2}
|
||||
if (eneacti[enno] == 0){
|
||||
tmpenepos=eneY[enno]*19+eneX[enno]+1
|
||||
if (mapd[tmpenepos] != 1){eneacti[enno]=3
|
||||
}else{eneacti[enno]=4
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
eneXYcal()
|
||||
}
|
||||
|
||||
function turncheck(){
|
||||
if (tmpeneacti1 == 1){
|
||||
if (myX*blueflag < eneX[enno]*blueflag){
|
||||
tmpenepos=eneY[enno]*19+eneX[enno]-1
|
||||
if (mapd[tmpenepos] != 1){eneacti[enno]=1}
|
||||
}
|
||||
}
|
||||
if (tmpeneacti1 == 3){
|
||||
if (myX*blueflag > eneX[enno]*blueflag){
|
||||
tmpenepos=eneY[enno]*19+eneX[enno]+1
|
||||
if (mapd[tmpenepos] != 1){eneacti[enno]=3}
|
||||
}
|
||||
}
|
||||
if (tmpeneacti1 == 2){
|
||||
if (myY*blueflag < eneY[enno]*blueflag){
|
||||
tmpenepos=eneY[enno]*19+eneX[enno]-19
|
||||
if (mapd[tmpenepos] != 1){eneacti[enno]=2}
|
||||
}
|
||||
}
|
||||
if (tmpeneacti1 == 4){
|
||||
if (myY*blueflag < eneY[enno]*blueflag){
|
||||
tmpenepos=eneY[enno]*19+eneX[enno]+19
|
||||
if (mapd[tmpenepos] != 1){eneacti[enno]=4}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//-->
|
||||
</SCRIPT>
|
||||
</HEAD>
|
||||
|
||||
<BODY BGCOLOR="#FFFF00" TEXT="#004400" LINK="#FFFF00" VLINK="#FFFF00" ONLOAD="init()">
|
||||
<SCRIPT LANGUAGE="JavaScript">
|
||||
<!--
|
||||
//screen fill
|
||||
document.write("<PRE><CENTER>");
|
||||
for (iad=0; iad<22; iad++){;
|
||||
for (iac=0; iac<19; iac++){document.write("<IMG BORDER=0 WIDTH=16 HEIGHT=16 SRC='bl0.gif'>")};
|
||||
document.write("<BR>");
|
||||
};
|
||||
document.write("</CENTER></PRE>");
|
||||
|
||||
tmps[0] ="1111111111111111111";
|
||||
tmps[1] ="1222222221222222221";
|
||||
tmps[2] ="1211211121211121121";
|
||||
tmps[3] ="1311211121211121131";
|
||||
tmps[4] ="1222222222222222221";
|
||||
tmps[5] ="1211212111112121121";
|
||||
tmps[6] ="1222212221222122221";
|
||||
tmps[7] ="1111211101011121111";
|
||||
tmps[8] ="1111210000000121111";
|
||||
tmps[9] ="1111210111110121111";
|
||||
tmps[10]="0000200100010020000";
|
||||
tmps[11]="1111210111110121111";
|
||||
tmps[12]="1111210000000121111";
|
||||
tmps[13]="1111210111110121111";
|
||||
tmps[14]="1222222221222222221";
|
||||
tmps[15]="1211211121211121121";
|
||||
tmps[16]="1321222222222221231";
|
||||
tmps[17]="1121212111112121211";
|
||||
tmps[18]="1222212221222122221";
|
||||
tmps[19]="1211111121211111121";
|
||||
tmps[20]="1222222222222222221";
|
||||
tmps[21]="1111111111111111111";
|
||||
//read style data
|
||||
readstyle();
|
||||
//-->
|
||||
</SCRIPT>
|
||||
|
||||
|
||||
<BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P><BR><P>
|
||||
|
||||
|
||||
|
||||
<INPUT TYPE="text" NAME="CTRL" SIZE=10 VALUE = "0" >
|
||||
|
||||
</BODY>
|
||||
</FORM>
|
||||
</HTML>
|
After Width: | Height: | Size: 852 B |
After Width: | Height: | Size: 851 B |
After Width: | Height: | Size: 858 B |
After Width: | Height: | Size: 852 B |
After Width: | Height: | Size: 858 B |
|
@ -11,7 +11,7 @@
|
|||
{{Edit=./SITE/CONTENT/en-index-about-title.md}}
|
||||
</div>
|
||||
<p class="tera-logo-panel">
|
||||
<img src="PIC/map-nodes.jpg" width="312" height="166"/>
|
||||
<img src="PIC/map-nodes.jpg" width="312" height="166" class="img img--100" />
|
||||
{{Edit=./SITE/CONTENT/en-index-about-text.md}}
|
||||
</p>
|
||||
<p class="tera-logo-panel">
|
||||
|
@ -55,7 +55,7 @@
|
|||
|
||||
<!-- Key Feature -->
|
||||
<div class="col-md-4">
|
||||
<div class="about bg-grey f-panel">
|
||||
<div class="about bg-grey">
|
||||
<i class="fab fa-hubspot"></i>
|
||||
{{Edit=./SITE/CONTENT/en-index-features-1.md}}
|
||||
</div>
|
||||
|
@ -64,7 +64,7 @@
|
|||
|
||||
<!-- Key Feature -->
|
||||
<div class="col-md-4">
|
||||
<div class="about bg-grey f-panel">
|
||||
<div class="about bg-grey">
|
||||
<i class="fas fa-boxes"></i>
|
||||
{{Edit=./SITE/CONTENT/en-index-features-2.md}}
|
||||
</div>
|
||||
|
@ -73,7 +73,7 @@
|
|||
|
||||
<!-- Key Feature -->
|
||||
<div class="col-md-4">
|
||||
<div class="about bg-grey f-panel">
|
||||
<div class="about bg-grey">
|
||||
<i class="fas fa-university"></i>
|
||||
{{Edit=./SITE/CONTENT/en-index-features-3.md}}
|
||||
</div>
|
||||
|
@ -82,7 +82,7 @@
|
|||
|
||||
<!-- Key Feature -->
|
||||
<div class="col-md-4">
|
||||
<div class="about bg-grey f-panel">
|
||||
<div class="about bg-grey">
|
||||
<i class="fas fa-hand-holding-usd"></i>
|
||||
{{Edit=./SITE/CONTENT/en-index-features-4.md}}
|
||||
</div>
|
||||
|
@ -91,7 +91,7 @@
|
|||
|
||||
<!-- Key Feature -->
|
||||
<div class="col-md-4">
|
||||
<div class="about bg-grey f-panel">
|
||||
<div class="about bg-grey">
|
||||
<i class="fas fa-shield-alt"></i>
|
||||
{{Edit=./SITE/CONTENT/en-index-features-5.md}}
|
||||
</div>
|
||||
|
@ -100,7 +100,7 @@
|
|||
|
||||
<!-- Key Feature -->
|
||||
<div class="col-md-4">
|
||||
<div class="about bg-grey f-panel">
|
||||
<div class="about bg-grey">
|
||||
<i class="fas fa-code"></i>
|
||||
{{Edit=./SITE/CONTENT/en-index-features-6.md}}
|
||||
</div>
|
||||
|
@ -128,54 +128,56 @@
|
|||
<h2>Specification</h2>
|
||||
</div>
|
||||
<!-- /Section header -->
|
||||
<div class="no-more-tables">
|
||||
<table class="table table-bordered">
|
||||
<thead class="cf">
|
||||
<tr>
|
||||
<th>Max Supply</th>
|
||||
<th>Launch date</th>
|
||||
<th>Consensus Protocol</th>
|
||||
<th>Cryptography</th>
|
||||
<th>Smart contract language</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>1,000,000,000</td>
|
||||
<td>Jul-01-2018</td>
|
||||
<td>POW</td>
|
||||
<td>sha3, secp256k1</td>
|
||||
<td>Javascript</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<table class="table table-bordered">
|
||||
<thead class="cf">
|
||||
<tr>
|
||||
<th>Block Size</th>
|
||||
<th>Pre-mine</th>
|
||||
<th>Source Code</th>
|
||||
<th>Explorer</th>
|
||||
<th>Platform</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>130 KB</td>
|
||||
<td>5%</td>
|
||||
<td>
|
||||
<a href="https://sourceforge.net/p/tera/code/ci/master/tree/" target="_blank">sourceforge.net</a>,
|
||||
<a href="https://gitlab.com/terafoundation/tera" target="_blank">gitlab.com</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="https://terafoundation.org/explorer.html" target="_blank">terafoundation.org</a>
|
||||
</td>
|
||||
<td>NodeJS</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<dl class="spec-list">
|
||||
<div class="spec-list__item">
|
||||
<dt class="spec-list__title">Max Supply</dt>
|
||||
<dd class="spec-list__value"><a href="/dapp/67">1,000,000,000</a></dd>
|
||||
</div>
|
||||
<div class="spec-list__item">
|
||||
<dt class="spec-list__title">Launch date</dt>
|
||||
<dd class="spec-list__value">Jul-01-2018</dd>
|
||||
</div>
|
||||
<div class="spec-list__item">
|
||||
<dt class="spec-list__title">Consensus Protocol</dt>
|
||||
<dd class="spec-list__value">POW</dd>
|
||||
</div>
|
||||
<div class="spec-list__item">
|
||||
<dt class="spec-list__title">Cryptography</dt>
|
||||
<dd class="spec-list__value">sha3, secp256k1</dd>
|
||||
</div>
|
||||
<div class="spec-list__item">
|
||||
<dt class="spec-list__title">Smart contract language</dt>
|
||||
<dd class="spec-list__value">JavaScript</dd>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="spec-list__item">
|
||||
<dt class="spec-list__title">Block Size</dt>
|
||||
<dd class="spec-list__value">130 KB</dd>
|
||||
</div>
|
||||
<div class="spec-list__item">
|
||||
<dt class="spec-list__title">Pre-mine</dt>
|
||||
<dd class="spec-list__value">5%</dd>
|
||||
</div>
|
||||
<div class="spec-list__item">
|
||||
<dt class="spec-list__title">Source Code</dt>
|
||||
<dd class="spec-list__value">
|
||||
<a href="https://sourceforge.net/p/tera/code/ci/master/tree/" target="_blank">sourceforge.net</a>,
|
||||
<a href="https://gitlab.com/terafoundation/tera" target="_blank">gitlab.com</a>
|
||||
</dd>
|
||||
</div>
|
||||
<div class="spec-list__item">
|
||||
<dt class="spec-list__title">Explorer</dt>
|
||||
<dd class="spec-list__value">
|
||||
<a href="https://terafoundation.org/explorer.html" target="_blank">terafoundation.org</a>
|
||||
</dd>
|
||||
</div>
|
||||
<div class="spec-list__item">
|
||||
<dt class="spec-list__title">Platform</dt>
|
||||
<dd class="spec-list__value">NodeJS</dd>
|
||||
</div>
|
||||
</dl>
|
||||
</div>
|
||||
<!-- /Row -->
|
||||
|
||||
|
@ -184,6 +186,282 @@
|
|||
|
||||
</div>
|
||||
<!-- /Specification -->
|
||||
|
||||
<!-- Team -->
|
||||
<div id="team" class="section md-padding" >
|
||||
<h2 class="section-header text-center">
|
||||
TERA PRODUCT TEAM
|
||||
</h2>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-4 col-lg-3 person-card">
|
||||
<div class="person-card__wrapper">
|
||||
<div class="person-card__img-wrap">
|
||||
<img src="PIC/vtools.jpg" alt="Yuriy Ivanov photo" class="person-card__img" width="260" height="260">
|
||||
</div>
|
||||
<a href="https://www.linkedin.com/in/vtools/?locale=en_US" target="_blank">
|
||||
<h4 class="person-card__title">Yuriy Ivanov <span>| Vtools</span></h4>
|
||||
</a>
|
||||
<p class="person-card__position"><!-- Head of Architect Department --></p>
|
||||
|
||||
<div class="person-card__add-info add-info">
|
||||
<h4 class="add-info__name">Yuriy Ivanov</h4>
|
||||
<em>Vtools</em>
|
||||
<p class="add-info__position"><!-- Head of Architect Department --></p>
|
||||
<p class="add-info__desc">
|
||||
<!-- Moscow State University of Instrument Engineering and Computer Science, department of Computer Science and computer facilities. -->
|
||||
</p>
|
||||
|
||||
<a href="https://www.linkedin.com/in/vtools/?locale=en_US" class="add-info__linkedin" target="_blank">
|
||||
<img src="PIC/linkedin-logo.svg" alt="Linkedin logo" width="30" height="30">
|
||||
<span>View profile</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 col-lg-3 person-card">
|
||||
<div class="person-card__wrapper">
|
||||
<div class="person-card__img-wrap">
|
||||
<img src="PIC/Gennady.jpg" alt="Gennady Ivanov photo" class="person-card__img" width="260" height="260">
|
||||
</div>
|
||||
<a href="https://www.linkedin.com/in/gennady-ivanov-195a8590/" target="_blank">
|
||||
<h4 class="person-card__title">Gennady Ivanov <span>| Gennady</span></h4>
|
||||
</a>
|
||||
<p class="person-card__position"></p>
|
||||
|
||||
<div class="person-card__add-info add-info">
|
||||
<h4 class="add-info__name">Gennady Ivanov</h4>
|
||||
<em>Gennady</em>
|
||||
<p class="add-info__position"></p>
|
||||
<p class="add-info__desc"></p>
|
||||
|
||||
<a href="https://www.linkedin.com/in/gennady-ivanov-195a8590/" class="add-info__linkedin" target="_blank">
|
||||
<img src="PIC/linkedin-logo.svg" alt="Linkedin logo" width="30" height="30">
|
||||
<span>View profile</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 col-lg-3 person-card">
|
||||
<div class="person-card__wrapper">
|
||||
<div class="person-card__img-wrap">
|
||||
<img src="PIC/PsyArcus.jpg" alt="Evgeny Ustinovich photo" class="person-card__img" width="260" height="260">
|
||||
</div>
|
||||
<a href="https://www.linkedin.com/in/ustinovichevgeny/?locale=en_US" target="_blank">
|
||||
<h4 class="person-card__title">Evgeny Ustinovich <span>| PsyArcus</span></h4>
|
||||
</a>
|
||||
<p class="person-card__position"></p>
|
||||
|
||||
<div class="person-card__add-info add-info">
|
||||
<h4 class="add-info__name">Evgeny Ustinovich</h4>
|
||||
<em>PsyArcus</em>
|
||||
<p class="add-info__position"></p>
|
||||
<p class="add-info__desc"></p>
|
||||
|
||||
<a href="https://www.linkedin.com/in/ustinovichevgeny/?locale=en_US" class="add-info__linkedin" target="_blank">
|
||||
<img src="PIC/linkedin-logo.svg" alt="Linkedin logo" width="30" height="30">
|
||||
<span>View profile</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 col-lg-3 person-card">
|
||||
<div class="person-card__wrapper">
|
||||
<div class="person-card__img-wrap">
|
||||
<img src="PIC/corey.jpg" alt="Yuan Chen photo" class="person-card__img" width="260" height="260">
|
||||
</div>
|
||||
<a href="https://www.linkedin.com/in/yuan-chen-331bbb145/" target="_blank">
|
||||
<h4 class="person-card__title">Yuan Chen <span>| corey</span></h4>
|
||||
</a>
|
||||
<p class="person-card__position"></p>
|
||||
|
||||
<div class="person-card__add-info add-info">
|
||||
<h4 class="add-info__name">Yuan Chen</h4>
|
||||
<em>corey</em>
|
||||
<p class="add-info__position"></p>
|
||||
<p class="add-info__desc"></p>
|
||||
|
||||
<a href="https://www.linkedin.com/in/yuan-chen-331bbb145/" class="add-info__linkedin" target="_blank">
|
||||
<img src="PIC/linkedin-logo.svg" alt="Linkedin logo" width="30" height="30">
|
||||
<span>View profile</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 col-lg-3 person-card">
|
||||
<div class="person-card__wrapper">
|
||||
<div class="person-card__img-wrap">
|
||||
<img src="PIC/Ryuu.jpg" alt="Long Vu Hoang photo" class="person-card__img" width="260" height="260">
|
||||
</div>
|
||||
<a href="https://www.linkedin.com/in/long-vu-hoang-2a480a89/" target="_blank">
|
||||
<h4 class="person-card__title">Long Vu Hoang <span>| Ryuu</span></h4>
|
||||
</a>
|
||||
<p class="person-card__position"></p>
|
||||
|
||||
<div class="person-card__add-info add-info">
|
||||
<h4 class="add-info__name">Long Vu Hoang</h4>
|
||||
<em>Ryuu</em>
|
||||
<p class="add-info__position"></p>
|
||||
<p class="add-info__desc"></p>
|
||||
|
||||
<a href="https://www.linkedin.com/in/long-vu-hoang-2a480a89/" class="add-info__linkedin" target="_blank">
|
||||
<img src="PIC/linkedin-logo.svg" alt="Linkedin logo" width="30" height="30">
|
||||
<span>View profile</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 col-lg-3 person-card">
|
||||
<div class="person-card__wrapper">
|
||||
<div class="person-card__img-wrap">
|
||||
<img src="PIC/mindsignals.jpg" alt="Ross Goldberg photo" class="person-card__img" width="260" height="260">
|
||||
</div>
|
||||
<a href="https://www.linkedin.com/in/ross-goldberg-5979bb/" target="_blank">
|
||||
<h4 class="person-card__title">Ross Goldberg <span>| mindsignals</span></h4>
|
||||
</a>
|
||||
<p class="person-card__position"></p>
|
||||
|
||||
<div class="person-card__add-info add-info">
|
||||
<h4 class="add-info__name">Ross Goldberg</h4>
|
||||
<em>mindsignals</em>
|
||||
<p class="add-info__position"></p>
|
||||
<p class="add-info__desc"></p>
|
||||
|
||||
<a href="https://www.linkedin.com/in/ross-goldberg-5979bb/" class="add-info__linkedin" target="_blank">
|
||||
<img src="PIC/linkedin-logo.svg" alt="Linkedin logo" width="30" height="30">
|
||||
<span>View profile</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 col-lg-3 person-card">
|
||||
<div class="person-card__wrapper">
|
||||
<div class="person-card__img-wrap">
|
||||
<img src="PIC/itutu.jpg" alt="Wei Li photo" class="person-card__img" width="260" height="260">
|
||||
</div>
|
||||
<a href="https://www.linkedin.com/in/wei-li-5b8800182/" target="_blank">
|
||||
<h4 class="person-card__title">Wei Li <span>| itutu</span></h4>
|
||||
</a>
|
||||
<p class="person-card__position"></p>
|
||||
|
||||
<div class="person-card__add-info add-info">
|
||||
<h4 class="add-info__name">Wei Li</h4>
|
||||
<em>itutu</em>
|
||||
<p class="add-info__position"></p>
|
||||
<p class="add-info__desc"></p>
|
||||
|
||||
<a href="https://www.linkedin.com/in/wei-li-5b8800182/" class="add-info__linkedin" target="_blank">
|
||||
<img src="PIC/linkedin-logo.svg" alt="Linkedin logo" width="30" height="30">
|
||||
<span>View profile</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 col-lg-3 person-card">
|
||||
<div class="person-card__wrapper">
|
||||
<div class="person-card__img-wrap">
|
||||
<img src="PIC/weiwutera.jpg" alt="Hongsang U photo" class="person-card__img" width="260" height="260">
|
||||
</div>
|
||||
<a href="https://www.linkedin.com/in/hongsang-u-18348616b/" target="_blank">
|
||||
<h4 class="person-card__title">Hongsang U <span>| weiwutera</span></h4>
|
||||
</a>
|
||||
<p class="person-card__position"></p>
|
||||
|
||||
<div class="person-card__add-info add-info">
|
||||
<h4 class="add-info__name">Hongsang U</h4>
|
||||
<em>weiwutera</em>
|
||||
<p class="add-info__position"></p>
|
||||
<p class="add-info__desc"></p>
|
||||
|
||||
<a href="https://www.linkedin.com/in/hongsang-u-18348616b/" class="add-info__linkedin" target="_blank">
|
||||
<img src="PIC/linkedin-logo.svg" alt="Linkedin logo" width="30" height="30">
|
||||
<span>View profile</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 col-lg-3 person-card">
|
||||
<div class="person-card__wrapper">
|
||||
<div class="person-card__img-wrap">
|
||||
<img src="PIC/groboro.jpg" alt="Timo Stutz photo" class="person-card__img" width="260" height="260">
|
||||
</div>
|
||||
<a href="https://www.linkedin.com/in/timo-stutz/" target="_blank">
|
||||
<h4 class="person-card__title">Timo Stutz <span>| groboro</span></h4>
|
||||
</a>
|
||||
<p class="person-card__position"></p>
|
||||
|
||||
<div class="person-card__add-info add-info">
|
||||
<h4 class="add-info__name">Timo Stutz</h4>
|
||||
<em>groboro</em>
|
||||
<p class="add-info__position"></p>
|
||||
<p class="add-info__desc"></p>
|
||||
|
||||
<a href="https://www.linkedin.com/in/timo-stutz/" class="add-info__linkedin" target="_blank">
|
||||
<img src="PIC/linkedin-logo.svg" alt="Linkedin logo" width="30" height="30">
|
||||
<span>View profile</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 col-lg-3 person-card">
|
||||
<div class="person-card__wrapper">
|
||||
<div class="person-card__img-wrap">
|
||||
<img src="PIC/Ken.jpg" alt="Ken Chan photo" class="person-card__img" width="260" height="260">
|
||||
</div>
|
||||
<a href="https://www.linkedin.com/in/ken-chan-170399183/" target="_blank">
|
||||
<h4 class="person-card__title">Ken Chan <span>| Ken</span></h4>
|
||||
</a>
|
||||
<p class="person-card__position"></p>
|
||||
|
||||
<div class="person-card__add-info add-info">
|
||||
<h4 class="add-info__name">Ken Chan</h4>
|
||||
<em>Ken</em>
|
||||
<p class="add-info__position"></p>
|
||||
<p class="add-info__desc"></p>
|
||||
|
||||
<a href="https://www.linkedin.com/in/ken-chan-170399183/" class="add-info__linkedin" target="_blank">
|
||||
<img src="PIC/linkedin-logo.svg" alt="Linkedin logo" width="30" height="30">
|
||||
<span>View profile</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4 col-lg-3 person-card">
|
||||
<div class="person-card__wrapper">
|
||||
<div class="person-card__img-wrap">
|
||||
<img src="PIC/tina629.jpg" alt="Ken Chan photo" class="person-card__img" width="260" height="260">
|
||||
</div>
|
||||
<a href="https://www.linkedin.com/in/xiu-zhao/" target="_blank">
|
||||
<h4 class="person-card__title">Xiu Zhao <span>| tina629</span></h4>
|
||||
</a>
|
||||
<p class="person-card__position"></p>
|
||||
|
||||
<div class="person-card__add-info add-info">
|
||||
<h4 class="add-info__name">Xiu Zhao</h4>
|
||||
<em>tina629</em>
|
||||
<p class="add-info__position"></p>
|
||||
<p class="add-info__desc"></p>
|
||||
|
||||
<a href="https://www.linkedin.com/in/xiu-zhao/" class="add-info__linkedin" target="_blank">
|
||||
<img src="PIC/linkedin-logo.svg" alt="Linkedin logo" width="30" height="30">
|
||||
<span>View profile</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4 col-lg-3 person-card person-card--empty">
|
||||
<div class="person-card__wrapper">
|
||||
<div class="line-v"></div>
|
||||
<div class="square-dot"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /Team -->
|
||||
|
||||
<!-- News-->
|
||||
<div id="lastnews" class="section md-padding bg-grey">
|
||||
|
@ -194,12 +472,13 @@
|
|||
<!-- Row -->
|
||||
<div class="row">
|
||||
|
||||
<!-- Section header -->
|
||||
<div class="no-more-tables">
|
||||
{{Edit=./SITE/CONTENT/en-index-lastnews.md}}
|
||||
<div class="col-xs-12">
|
||||
<!-- Section header -->
|
||||
<div class="no-more-tables">
|
||||
{{Edit=./SITE/CONTENT/en-index-lastnews.md}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!-- /News-->
|
||||
|
@ -237,7 +516,7 @@
|
|||
<div class="row">
|
||||
|
||||
<!-- Section header -->
|
||||
<div class="section-header">
|
||||
<div class="section-header text-center">
|
||||
<h2>Roadmap</h2>
|
||||
</div>
|
||||
<!-- /Section header -->
|
||||
|
@ -432,4 +711,3 @@
|
|||
|
||||
</div></div>
|
||||
{{File=./SITE/footer_index.html}}
|
||||
|
||||
|
|
|
@ -165,7 +165,7 @@
|
|||
<div class="col-md-6">
|
||||
<div class="about bg-grey scheme-panel">
|
||||
<h4>Traditional Blockchain</h4>
|
||||
<h4><img src="../PIC/traditional_blockchain.png" title="Traditional Blockchain" /></h4>
|
||||
<h4><img src="../PIC/traditional_blockchain.png" title="Traditional Blockchain" class="img img--100"/></h4>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /Key Feature -->
|
||||
|
@ -174,7 +174,7 @@
|
|||
<div class="col-md-6">
|
||||
<div class="about bg-grey scheme-panel">
|
||||
<h4>TERA Blockchain</h>
|
||||
<p><img src="../PIC/tera_blockchain.png" title="TERA Blockchain" /></p>
|
||||
<p><img src="../PIC/tera_blockchain.png" title="TERA Blockchain" class="img img--100"/></p>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /Key Feature -->
|
||||
|
@ -285,58 +285,60 @@
|
|||
<div class="row">
|
||||
|
||||
<!-- Section header -->
|
||||
<div class="section-header">
|
||||
<div class="section-header text-center">
|
||||
<h2 class="title md-down-left">Технология</h2>
|
||||
</div>
|
||||
<!-- /Section header -->
|
||||
<div class="no-more-tables">
|
||||
<table class="table table-bordered">
|
||||
<thead class="cf">
|
||||
<tr>
|
||||
<th>Максимальное наличие</th>
|
||||
<th>Дата выпуска</th>
|
||||
<th>Консенсусный протокол</th>
|
||||
<th>Криптография</th>
|
||||
<th>Язык смарт-контракта</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>1,000,000,000</td>
|
||||
<td>07.01.2018</td>
|
||||
<td>POW</td>
|
||||
<td>sha3, secp256k1</td>
|
||||
<td>Javascript</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<table class="table table-bordered">
|
||||
<thead class="cf">
|
||||
<tr>
|
||||
<th>Размер блока</th>
|
||||
<th>Pre-mine</th>
|
||||
<th>Исходный код</th>
|
||||
<th>Обозреватель</th>
|
||||
<th>Платформа</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>120 KB</td>
|
||||
<td>5%</td>
|
||||
<td>
|
||||
<a href="https://sourceforge.net/p/tera/code/ci/master/tree/" target="_blank">sourceforge.net</a>,
|
||||
<a href="https://gitlab.com/terafoundation/tera" target="_blank">gitlab.com</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="https://terafoundation.org/explorer.html" target="_blank">terafoundation.org</a>
|
||||
</td>
|
||||
<td>NodeJS</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<dl class="spec-list">
|
||||
<div class="spec-list__item">
|
||||
<dt class="spec-list__title">Максимальное наличие</dt>
|
||||
<dd class="spec-list__value">1,000,000,000</dd>
|
||||
</div>
|
||||
<div class="spec-list__item">
|
||||
<dt class="spec-list__title">Дата выпуска</dt>
|
||||
<dd class="spec-list__value">07.01.2018</dd>
|
||||
</div>
|
||||
<div class="spec-list__item">
|
||||
<dt class="spec-list__title">Консенсусный протокол</dt>
|
||||
<dd class="spec-list__value">POW</dd>
|
||||
</div>
|
||||
<div class="spec-list__item">
|
||||
<dt class="spec-list__title">Криптография</dt>
|
||||
<dd class="spec-list__value">sha3, secp256k1</dd>
|
||||
</div>
|
||||
<div class="spec-list__item">
|
||||
<dt class="spec-list__title">Язык смарт-контракта</dt>
|
||||
<dd class="spec-list__value">JavaScript</dd>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="spec-list__item">
|
||||
<dt class="spec-list__title">Размер блока</dt>
|
||||
<dd class="spec-list__value">130 KB</dd>
|
||||
</div>
|
||||
<div class="spec-list__item">
|
||||
<dt class="spec-list__title">Pre-mine</dt>
|
||||
<dd class="spec-list__value">5%</dd>
|
||||
</div>
|
||||
<div class="spec-list__item">
|
||||
<dt class="spec-list__title">Исходный код</dt>
|
||||
<dd class="spec-list__value">
|
||||
<a href="https://sourceforge.net/p/tera/code/ci/master/tree/" target="_blank">sourceforge.net</a>,
|
||||
<a href="https://gitlab.com/terafoundation/tera" target="_blank">gitlab.com</a>
|
||||
</dd>
|
||||
</div>
|
||||
<div class="spec-list__item">
|
||||
<dt class="spec-list__title">Обозреватель</dt>
|
||||
<dd class="spec-list__value">
|
||||
<a href="https://terafoundation.org/explorer.html" target="_blank">terafoundation.org</a>
|
||||
</dd>
|
||||
</div>
|
||||
<div class="spec-list__item">
|
||||
<dt class="spec-list__title">Платформа</dt>
|
||||
<dd class="spec-list__value">NodeJS</dd>
|
||||
</div>
|
||||
</dl>
|
||||
</div>
|
||||
<!-- /Row -->
|
||||
|
||||
|
@ -356,8 +358,8 @@
|
|||
<div class="row">
|
||||
|
||||
<!-- Section header -->
|
||||
<div class="section-header">
|
||||
<h2 class="title md-down-left">Обновления</h2>
|
||||
<div class="section-header text-center">
|
||||
<h2 class="title">Обновления</h2>
|
||||
</div>
|
||||
<!-- /Section header -->
|
||||
<div class="no-more-tables">
|
||||
|
@ -421,8 +423,8 @@
|
|||
<div class="row">
|
||||
|
||||
<!-- Section header -->
|
||||
<div class="section-header">
|
||||
<h2 class="title md-down-left">Roadmap</h2>
|
||||
<div class="section-header text-center">
|
||||
<h2 class="title">Roadmap</h2>
|
||||
</div>
|
||||
<!-- /Section header -->
|
||||
<div class="row flex wrap">
|
||||
|
@ -536,8 +538,8 @@
|
|||
<div class="row">
|
||||
<!-- About Tera content -->
|
||||
<div class="col-md-12">
|
||||
<div class="section-header">
|
||||
<h2 class="title md-down-left">ССЫЛКИ НА TERA</h2>
|
||||
<div class="section-header text-center">
|
||||
<h2 class="title">ССЫЛКИ НА TERA</h2>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="about bg-grey bl-panel">
|
||||
|
|
|
@ -239,7 +239,7 @@
|
|||
<div class="section-header text-center">
|
||||
{{Edit=./SITE/CONTENT/en-token-design-title.md}}
|
||||
</div>
|
||||
{{Edit=./SITE/CONTENT/en-token-design-text.md}}
|
||||
<div class="col-xs-12" style="float: none;">{{Edit=./SITE/CONTENT/en-token-design-text.md}}</div>
|
||||
<!-- /Section header -->
|
||||
|
||||
<!-- Coin Picture -->
|
||||
|
|
|
@ -20,7 +20,7 @@ global.START_LOAD_CODE = {};
|
|||
const MAX_PERIOD_GETNODES = 120 * 1000;
|
||||
global.MIN_PERIOD_PING = 4 * 1000;
|
||||
const MAX_PERIOD_PING = 120 * 1000;
|
||||
global.MAX_PING_FOR_CONNECT = 300;
|
||||
global.MAX_PING_FOR_CONNECT = 400;
|
||||
var MAX_TIME_CORRECT = 3 * 3600 * 1000;
|
||||
global.MAX_WAIT_PERIOD_FOR_HOT = 4 * CONSENSUS_PERIOD_TIME;
|
||||
const PERIOD_FOR_START_CHECK_TIME = 300;
|
||||
|
|
|
@ -8,15 +8,15 @@
|
|||
* Telegram: https://t.me/terafoundation
|
||||
*/
|
||||
|
||||
global.UPDATE_CODE_VERSION_NUM = 1020;
|
||||
global.MIN_CODE_VERSION_NUM = 992;
|
||||
global.UPDATE_CODE_VERSION_NUM = 1025;
|
||||
global.MIN_CODE_VERSION_NUM = 1020;
|
||||
global.MINING_VERSION_NUM = 3;
|
||||
global.InitParamsArg = InitParamsArg;
|
||||
global.CONST_NAME_ARR = ["AUTO_CORRECT_TIME", "DELTA_CURRENT_TIME", "COMMON_KEY", "NODES_NAME", "SERVER_PRIVATE_KEY_HEX", "USE_NET_FOR_SERVER_ADDRES",
|
||||
"NET_WORK_MODE", "STAT_MODE", "MAX_STAT_PERIOD", "HTTP_PORT_NUMBER", "HTTP_PORT_PASSWORD", "HTTP_IP_CONNECT", "WALLET_NAME",
|
||||
"WALLET_DESCRIPTION", "USE_HARD_API_V2", "COUNT_VIEW_ROWS", "USE_HINT", "ALL_VIEW_ROWS", "ALL_LOG_TO_CLIENT", "LOG_LEVEL",
|
||||
"USE_MINING", "MINING_START_TIME", "MINING_PERIOD_TIME", "POW_MAX_PERCENT", "COUNT_MINING_CPU", "SIZE_MINING_MEMORY", "POW_RUN_COUNT",
|
||||
"USE_AUTO_UPDATE", "RESTART_PERIOD_SEC", "MAX_GRAY_CONNECTIONS_TO_SERVER", "TRANSACTION_PROOF_COUNT", "UPDATE_NUM_COMPLETE",
|
||||
"NET_WORK_MODE", "STAT_MODE", "MAX_STAT_PERIOD", "LISTEN_IP", "HTTP_PORT_NUMBER", "HTTP_PORT_PASSWORD", "HTTP_IP_CONNECT",
|
||||
"WALLET_NAME", "WALLET_DESCRIPTION", "USE_HARD_API_V2", "COUNT_VIEW_ROWS", "USE_HINT", "ALL_VIEW_ROWS", "ALL_LOG_TO_CLIENT",
|
||||
"LOG_LEVEL", "USE_MINING", "MINING_START_TIME", "MINING_PERIOD_TIME", "POW_MAX_PERCENT", "COUNT_MINING_CPU", "SIZE_MINING_MEMORY",
|
||||
"POW_RUN_COUNT", "USE_AUTO_UPDATE", "RESTART_PERIOD_SEC", "MAX_GRAY_CONNECTIONS_TO_SERVER", "TRANSACTION_PROOF_COUNT", "UPDATE_NUM_COMPLETE",
|
||||
"LIMIT_SEND_TRAFIC", "WATCHDOG_DEV", "ADDRLIST_MODE", "CheckPointDelta", "MIN_VER_STAT", "DEBUG_WALLET", "HTTP_HOSTING_PORT",
|
||||
"HTTPS_HOSTING_DOMAIN", "HTTP_MAX_COUNT_ROWS", "HTTP_ADMIN_PASSORD", "WATCHDOG_BADACCOUNT", "RESYNC_CONDITION", "MAX_CONNECTIONS_COUNT",
|
||||
"TRUST_PROCESS_COUNT", "REST_START_COUNT", "DB_VERSION", ];
|
||||
|
@ -95,12 +95,12 @@ global.MAX_BLOCK_SIZE = 130 * 1024;
|
|||
global.MAX_TRANSACTION_SIZE = 65535;
|
||||
global.MIN_TRANSACTION_SIZE = 32;
|
||||
global.MAX_TRANSACTION_COUNT = 2000;
|
||||
global.MAX_TRANSACTION_LIMIT = 15;
|
||||
global.MAX_TRANSACTION_LIMIT = 150;
|
||||
global.MIN_POWER_POW_TR = 10;
|
||||
if(global.MIN_POWER_POW_BL === undefined)
|
||||
global.MIN_POWER_POW_BL = 5;
|
||||
global.GENERATE_BLOCK_ACCOUNT = 0;
|
||||
global.TOTAL_TER_MONEY = 1e9;
|
||||
global.TOTAL_SUPPLY_TERA = 1e9;
|
||||
global.TRANSACTION_PROOF_COUNT = 1000 * 1000;
|
||||
global.MIN_POWER_POW_ACC_CREATE = 16;
|
||||
global.START_MINING = 2 * 1000 * 1000;
|
||||
|
@ -198,6 +198,8 @@ global.FIRST_TIME_BLOCK = START_NETWORK_DATE;
|
|||
global.START_BLOCK_RUN = 0;
|
||||
if(global.START_IP === undefined)
|
||||
global.START_IP = "";
|
||||
if(global.LISTEN_IP === undefined)
|
||||
global.LISTEN_IP = "0.0.0.0";
|
||||
if(global.START_PORT_NUMBER === undefined)
|
||||
global.START_PORT_NUMBER = 30000;
|
||||
if(global.HTTP_PORT_PASSWORD === undefined)
|
||||
|
@ -252,57 +254,60 @@ function InitParamsArg()
|
|||
if(str.substr(0, 3) == "IP:")
|
||||
global.START_IP = str.substr(3);
|
||||
else
|
||||
if(str.substr(0, 8) == "HOSTING:")
|
||||
{
|
||||
global.HTTP_HOSTING_PORT = parseInt(str.substr(8));
|
||||
}
|
||||
if(str.substr(0, 7) == "LISTEN:")
|
||||
global.LISTEN_IP = str.substr(7);
|
||||
else
|
||||
if(str.substr(0, 13) == "STARTNETWORK:")
|
||||
if(str.substr(0, 8) == "HOSTING:")
|
||||
{
|
||||
global.START_NETWORK_DATE = parseInt(str.substr(13));
|
||||
console.log("START_NETWORK_DATE: " + START_NETWORK_DATE);
|
||||
global.HTTP_HOSTING_PORT = parseInt(str.substr(8));
|
||||
}
|
||||
else
|
||||
{
|
||||
switch(str)
|
||||
if(str.substr(0, 13) == "STARTNETWORK:")
|
||||
{
|
||||
case "CHILDPOW":
|
||||
global.CHILD_POW = true;
|
||||
break;
|
||||
case "ADDRLIST":
|
||||
global.ADDRLIST_MODE = true;
|
||||
break;
|
||||
case "CREATEONSTART":
|
||||
global.CREATE_ON_START = true;
|
||||
break;
|
||||
case "LOCALRUN":
|
||||
global.LOCAL_RUN = 1;
|
||||
break;
|
||||
case "TESTRUN":
|
||||
global.TEST_NETWORK = 1;
|
||||
break;
|
||||
case "NOLOCALRUN":
|
||||
global.LOCAL_RUN = 0;
|
||||
break;
|
||||
case "NOAUTOUPDATE":
|
||||
global.USE_AUTO_UPDATE = 0;
|
||||
break;
|
||||
case "NOPARAMJS":
|
||||
global.USE_PARAM_JS = 0;
|
||||
break;
|
||||
case "READONLYDB":
|
||||
global.READ_ONLY_DB = 1;
|
||||
break;
|
||||
case "NWMODE":
|
||||
global.NWMODE = 1;
|
||||
break;
|
||||
case "NOALIVE":
|
||||
global.NOALIVE = 1;
|
||||
break;
|
||||
case "DEV_MODE":
|
||||
global.DEV_MODE = 1;
|
||||
break;
|
||||
global.START_NETWORK_DATE = parseInt(str.substr(13));
|
||||
console.log("START_NETWORK_DATE: " + START_NETWORK_DATE);
|
||||
}
|
||||
else
|
||||
{
|
||||
switch(str)
|
||||
{
|
||||
case "CHILDPOW":
|
||||
global.CHILD_POW = true;
|
||||
break;
|
||||
case "ADDRLIST":
|
||||
global.ADDRLIST_MODE = true;
|
||||
break;
|
||||
case "CREATEONSTART":
|
||||
global.CREATE_ON_START = true;
|
||||
break;
|
||||
case "LOCALRUN":
|
||||
global.LOCAL_RUN = 1;
|
||||
break;
|
||||
case "TESTRUN":
|
||||
global.TEST_NETWORK = 1;
|
||||
break;
|
||||
case "NOLOCALRUN":
|
||||
global.LOCAL_RUN = 0;
|
||||
break;
|
||||
case "NOAUTOUPDATE":
|
||||
global.USE_AUTO_UPDATE = 0;
|
||||
break;
|
||||
case "NOPARAMJS":
|
||||
global.USE_PARAM_JS = 0;
|
||||
break;
|
||||
case "READONLYDB":
|
||||
global.READ_ONLY_DB = 1;
|
||||
break;
|
||||
case "NWMODE":
|
||||
global.NWMODE = 1;
|
||||
break;
|
||||
case "NOALIVE":
|
||||
global.NOALIVE = 1;
|
||||
break;
|
||||
case "DEV_MODE":
|
||||
global.DEV_MODE = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
|
@ -1727,10 +1727,10 @@ if(global.HTTP_PORT_NUMBER)
|
|||
{
|
||||
DoCommand(response, Type, Path, params, remoteAddress);
|
||||
}
|
||||
}).listen(port, function ()
|
||||
}).listen(port, LISTEN_IP, function ()
|
||||
{
|
||||
global.HTTP_SERVER_START_OK = 1;
|
||||
ToLog("Run HTTP-server on port:" + port);
|
||||
ToLog("Run HTTP-server on " + LISTEN_IP + ":" + port);
|
||||
});
|
||||
HTTPServer.on('error', function (err)
|
||||
{
|
||||
|
|
|
@ -435,7 +435,7 @@ module.exports = class CTransport extends require("./connect")
|
|||
if(CompareArr(Hash, Meta.Hash) !== 0)
|
||||
{
|
||||
if(global.WATCHDOG_DEV)
|
||||
TO_ERROR_LOG("TRANSPORT", 645, "Error hash Buffer")
|
||||
ToLog("TRANSPORT", 645, "Error hash Buffer", 2)
|
||||
return undefined;
|
||||
}
|
||||
if(Meta.TypeData === STR_TYPE)
|
||||
|
@ -1090,8 +1090,8 @@ module.exports = class CTransport extends require("./connect")
|
|||
START_PORT_NUMBER = 30000
|
||||
let SELF = this;
|
||||
SELF.port = START_PORT_NUMBER
|
||||
ToLogClient("Prepare to run TCP server on port: " + SELF.port)
|
||||
this.Server.listen(SELF.port, '0.0.0.0', function ()
|
||||
ToLogClient("Prepare to run TCP server on " + LISTEN_IP + ":" + SELF.port)
|
||||
this.Server.listen(SELF.port, LISTEN_IP, function ()
|
||||
{
|
||||
if(SELF.CanSend < 2)
|
||||
ToLogClient("Run TCP server on " + SELF.ip + ":" + SELF.port)
|
||||
|
@ -1104,7 +1104,7 @@ module.exports = class CTransport extends require("./connect")
|
|||
FindInternetIP()
|
||||
{
|
||||
let SELF = this;
|
||||
let server = Stun.createServer(this.Net4);
|
||||
let server = Stun.createServer();
|
||||
const request = Stun.createMessage(Stun.constants.STUN_BINDING_REQUEST);
|
||||
server.on('error', function (err)
|
||||
{
|
||||
|
|
|
@ -19,9 +19,9 @@ global.HistoryDB = new DBLib();
|
|||
const FILE_NAME_HISTORY = "history-body";
|
||||
var WorkStructHistory = {};
|
||||
global.TYPE_TRANSACTION_CREATE = 100;
|
||||
const TYPE_TRANSACTION_TRANSFER = 105;
|
||||
const TYPE_TRANSACTION_TRANSFER2 = 110;
|
||||
const TYPE_TRANSACTION_TRANSFER3 = 111;
|
||||
const TYPE_DEPRECATED_TRANSFER1 = 105;
|
||||
const TYPE_DEPRECATED_TRANSFER2 = 110;
|
||||
const TYPE_TRANSACTION_TRANSFER = 111;
|
||||
global.TYPE_TRANSACTION_ACC_HASH = 119;
|
||||
global.FORMAT_CREATE = "{\
|
||||
Type:byte,\
|
||||
|
@ -200,10 +200,10 @@ class AccountApp extends require("./dapp")
|
|||
this.DBAccountsHash.Truncate( - 1)
|
||||
this.DBStateTX.Truncate( - 1)
|
||||
this.DBRest.Truncate( - 1)
|
||||
this._DBStateWrite({Num:0, PubKey:[], Value:{BlockNum:1, SumCOIN:0.95 * TOTAL_TER_MONEY}, Name:"System account"}, 1)
|
||||
this._DBStateWrite({Num:0, PubKey:[], Value:{BlockNum:1, SumCOIN:0.95 * TOTAL_SUPPLY_TERA}, Name:"System account"}, 1)
|
||||
for(var i = 1; i < 8; i++)
|
||||
this._DBStateWrite({Num:i, PubKey:[], Value:{BlockNum:1}, Name:""})
|
||||
this._DBStateWrite({Num:8, PubKey:GetArrFromHex(ARR_PUB_KEY[0]), Value:{BlockNum:1, SumCOIN:0.05 * TOTAL_TER_MONEY}, Name:"Founder account"})
|
||||
this._DBStateWrite({Num:8, PubKey:GetArrFromHex(ARR_PUB_KEY[0]), Value:{BlockNum:1, SumCOIN:0.05 * TOTAL_SUPPLY_TERA}, Name:"Founder account"})
|
||||
this._DBStateWrite({Num:9, PubKey:GetArrFromHex(ARR_PUB_KEY[1]), Value:{BlockNum:1, SumCOIN:0}, Name:"Developer account"})
|
||||
for(var i = 10; i < BLOCK_PROCESSING_LENGTH2; i++)
|
||||
this._DBStateWrite({Num:i, PubKey:GetArrFromHex(ARR_PUB_KEY[i - 8]), Value:{BlockNum:1}, Name:""})
|
||||
|
@ -377,17 +377,17 @@ class AccountApp extends require("./dapp")
|
|||
Result = this.TRCreateAccount(Body, BlockNum, TrNum, ContextFrom)
|
||||
break;
|
||||
}
|
||||
case TYPE_TRANSACTION_TRANSFER:
|
||||
case TYPE_DEPRECATED_TRANSFER1:
|
||||
{
|
||||
Result = this.TRTransferMoney(Block, Body, BlockNum, TrNum, FORMAT_MONEY_TRANSFER, WorkStructTransfer)
|
||||
break;
|
||||
}
|
||||
case TYPE_TRANSACTION_TRANSFER2:
|
||||
case TYPE_DEPRECATED_TRANSFER2:
|
||||
{
|
||||
Result = this.TRTransferMoney(Block, Body, BlockNum, TrNum, FORMAT_MONEY_TRANSFER2, WorkStructTransfer2)
|
||||
break;
|
||||
}
|
||||
case TYPE_TRANSACTION_TRANSFER3:
|
||||
case TYPE_TRANSACTION_TRANSFER:
|
||||
{
|
||||
Result = this.TRTransferMoney(Block, Body, BlockNum, TrNum, FORMAT_MONEY_TRANSFER3, WorkStructTransfer3)
|
||||
break;
|
||||
|
@ -433,7 +433,7 @@ class AccountApp extends require("./dapp")
|
|||
var Power = GetPowPower(Block.PowHash);
|
||||
if(Block.BlockNum >= NEW_BLOCK_REWARD1)
|
||||
Power = 43
|
||||
var Sum = Power * Power * SysBalance / TOTAL_TER_MONEY / 100;
|
||||
var Sum = Power * Power * SysBalance / TOTAL_SUPPLY_TERA / 100;
|
||||
var CoinTotal = {SumCOIN:0, SumCENT:0};
|
||||
var CoinSum = COIN_FROM_FLOAT(Sum);
|
||||
if(!ISZERO(CoinSum))
|
||||
|
@ -482,17 +482,17 @@ class AccountApp extends require("./dapp")
|
|||
format = FORMAT_CREATE
|
||||
break;
|
||||
}
|
||||
case TYPE_TRANSACTION_TRANSFER:
|
||||
case TYPE_DEPRECATED_TRANSFER1:
|
||||
{
|
||||
format = FORMAT_MONEY_TRANSFER
|
||||
break;
|
||||
}
|
||||
case TYPE_TRANSACTION_TRANSFER2:
|
||||
case TYPE_DEPRECATED_TRANSFER2:
|
||||
{
|
||||
format = FORMAT_MONEY_TRANSFER2
|
||||
break;
|
||||
}
|
||||
case TYPE_TRANSACTION_TRANSFER3:
|
||||
case TYPE_TRANSACTION_TRANSFER:
|
||||
{
|
||||
format = FORMAT_MONEY_TRANSFER3
|
||||
break;
|
||||
|
@ -1533,7 +1533,7 @@ module.exports = AccountApp;
|
|||
var App = new AccountApp;
|
||||
DApps["Accounts"] = App;
|
||||
DAppByType[TYPE_TRANSACTION_CREATE] = App;
|
||||
DAppByType[TYPE_DEPRECATED_TRANSFER1] = App;
|
||||
DAppByType[TYPE_DEPRECATED_TRANSFER2] = App;
|
||||
DAppByType[TYPE_TRANSACTION_TRANSFER] = App;
|
||||
DAppByType[TYPE_TRANSACTION_TRANSFER2] = App;
|
||||
DAppByType[TYPE_TRANSACTION_TRANSFER3] = App;
|
||||
DAppByType[TYPE_TRANSACTION_ACC_HASH] = App;
|
||||
|
|
|
@ -282,10 +282,10 @@ function RunListenServer()
|
|||
ToError(err);
|
||||
});
|
||||
ToLogClient("Prepare to run WEB-server on port: " + global.HTTP_HOSTING_PORT);
|
||||
HostingServer.listen(global.HTTP_HOSTING_PORT, '0.0.0.0', function ()
|
||||
HostingServer.listen(global.HTTP_HOSTING_PORT, LISTEN_IP, function ()
|
||||
{
|
||||
if(!bWasRun)
|
||||
ToLogClient("Run WEB-server on port: " + global.HTTP_HOSTING_PORT);
|
||||
ToLogClient("Run WEB-server on " + LISTEN_IP + ":" + global.HTTP_HOSTING_PORT);
|
||||
bWasRun = 1;
|
||||
});
|
||||
};
|
||||
|
@ -295,6 +295,7 @@ LangPathMap["cn"] = 1;
|
|||
LangPathMap["de"] = 1;
|
||||
LangPathMap["blog"] = 1;
|
||||
LangPathMap["docs"] = 1;
|
||||
LangPathMap["game"] = 1;
|
||||
var WalletFileMap = {};
|
||||
WalletFileMap["coinlib.js"] = 1;
|
||||
WalletFileMap["client.js"] = 1;
|
||||
|
@ -318,6 +319,7 @@ WalletFileMap["history.html"] = 1;
|
|||
WalletFileMap["blockviewer.html"] = 1;
|
||||
WalletFileMap["web-wallet.html"] = 1;
|
||||
WalletFileMap["web-wallet-cn.html"] = 1;
|
||||
WalletFileMap["address_book.png"] = 1;
|
||||
global.WebApi2 = {};
|
||||
global.HostingCaller = {};
|
||||
|
||||
|
|