diff --git a/README.md b/README.md index 1814fe1..21900aa 100644 --- a/README.md +++ b/README.md @@ -69,6 +69,8 @@ Coin/token info stored in `\general\${token_name}` folders. Specific blockchain "blockTimeFixed": 5000, // Optional. Fixed block time in ms "blockTimeAvg": 600000, // Optional. Average block time in ms + "minNodeVersion": "0.8.0", // Optional. Minimal supported node API version + // Optional. Node links for API "nodes": [ { "url": "https://node.example.com" }, @@ -79,6 +81,17 @@ Coin/token info stored in `\general\${token_name}` folders. Specific blockchain } ], + // Optional. Services related to a project + "services": { + "infoService": [ + { "url": "https://info.example.com" }, + { + "url": "https://second-service.example.com", + "alt_ip": "0.0.0.1:80" // Alternative way to connect if the domain of a service is censored + } + ], + }, + // Optional. Additional project links "links": [ { @@ -90,6 +103,19 @@ Coin/token info stored in `\general\${token_name}` folders. Specific blockchain "url": "https://example.com/whitepaper.pdf" } ] + + // Optional. Tor configuration if a project uses Tor + // It follows the same structure as the root properties + // Currently supported props are described below: + "tor": { + "website": "http://abc.onion", + "explorer": "http://xyz.onion", + "explorerTx": "http://xyz.onion/tx/${ID}", + "explorerAddress": "http://xyz.onion/address/${ID}", + "nodes": [/*...*/], + "services": {/*...*/}, + "links": [/*...*/] + } } ``` diff --git a/assets/general/adamant/info.json b/assets/general/adamant/info.json index 91d153c..c33f22e 100644 --- a/assets/general/adamant/info.json +++ b/assets/general/adamant/info.json @@ -24,6 +24,7 @@ "oldPendingInterval": 4000, "registeredInterval": 4000 }, + "minNodeVersion": "0.7.0", "nodes": [ { "url": "https://clown.adamant.im" }, { "url": "https://lake.adamant.im" }, @@ -43,6 +44,14 @@ { "url": "https://node1.adamant.business" }, { "url": "https://node2.blockchain2fa.io" } ], + "services": { + "infoService": [ + { + "url": "https://info.adamant.im", + "alt_ip": "http://88.198.156.44:80" + } + ] + }, "links": [ { "name": "github", @@ -56,5 +65,35 @@ "name": "whitepaper", "url": "https://adamant.im/whitepaper/adamant-whitepaper-en.pdf" } - ] + ], + "tor": { + "website": "http://adamantim24okpwfr4wxjgsh6vtw4odoiabhsfaqaktnfqzrjrspjuid.onion", + "explorer": "http://srovpmanmrbmbqe63vp5nycsa3j3g6be3bz46ksmo35u5pw7jjtjamid.onion", + "explorerTx": "http://srovpmanmrbmbqe63vp5nycsa3j3g6be3bz46ksmo35u5pw7jjtjamid.onion/tx/${ID}", + "explorerAddress": "http://srovpmanmrbmbqe63vp5nycsa3j3g6be3bz46ksmo35u5pw7jjtjamid.onion/address/${ID}", + "nodes": [ + { + "url": "http://37g5to2z6bdoeegun4hms2hvkfbdxh4rcon4e3p267wtfkh4ji2ns6id.onion" + }, + { + "url": "http://fqjcvsibnbwhlwxndzqzziapiwoidgn24avfiauu4wo2fc3yyiy2qcid.onion" + }, + { + "url": "http://omhrhpc45njpgzp4fggtndazaodwuwvb5in6hsn3k7tvaqennmfaa2qd.onion" + }, + { + "url": "http://uxu6vnnrrnl7tmo7i657yvs4jbgdz734xvufryoi326az5dzufuwboad.onion" + }, + { + "url": "http://rukehjd2yalzgny7mdjqtzown2mazsaeh4zr7zjdg4l5afkgc3z2kgqd.onion" + } + ], + "services": { + "infoService": [ + { + "url": "http://czjsawp2crjmnkliw2h2kpk7wwd3a36zvvnvqgvzmi4t4vc2yzm7j2qd.onion" + } + ] + } + } } diff --git a/assets/general/bitcoin/info.json b/assets/general/bitcoin/info.json index 8c5fc36..8fa3938 100644 --- a/assets/general/bitcoin/info.json +++ b/assets/general/bitcoin/info.json @@ -29,8 +29,14 @@ }, "txConsistencyMaxTime": 10800000, "nodes": [ - { "url": "https://btcnode1.adamant.im" }, - { "url": "https://btcnode2.adamant.im" } + { + "url": "https://btcnode1.adamant.im", + "alt_ip": "http://176.9.38.204:44099" + }, + { + "url": "https://btcnode2.adamant.im", + "alt_ip": "http://176.9.32.126:44099" + } ], "links": [ { @@ -49,5 +55,15 @@ "name": "whitepaper", "url": "https://bitcoin.org/bitcoin.pdf" } - ] + ], + "tor": { + "nodes": [ + { + "url": "http://cc6ibzkfeseuwnmtjc6hlsd44bzg2sr3shbv7n35nj2rk2vm6dmtlnqd.onion" + }, + { + "url": "http://mgplh7en3d6ywsec5h6q3tc6mirsleb5cmlyn6nmp25qrb6gy35nypad.onion" + } + ] + } } diff --git a/assets/general/dash/info.json b/assets/general/dash/info.json index 620c1bf..1f744ec 100644 --- a/assets/general/dash/info.json +++ b/assets/general/dash/info.json @@ -47,5 +47,12 @@ "name": "whitepaper", "url": "https://github.com/dashpay/dash/wiki/Whitepaper" } - ] + ], + "tor": { + "nodes": [ + { + "url": "http://ldod53womnlwjmd4noq5yuq26xx3mmbrr4uogkfymuakhofjcuqeygad.onion" + } + ] + } } diff --git a/assets/general/doge/info.json b/assets/general/doge/info.json index 1077b7a..a794ce7 100644 --- a/assets/general/doge/info.json +++ b/assets/general/doge/info.json @@ -30,7 +30,10 @@ "txConsistencyMaxTime": 900000, "nodes": [ { "url": "https://dogenode1.adamant.im" }, - { "url": "https://dogenode2.adamant.im" } + { + "url": "https://dogenode2.adamant.im", + "alt_ip": "http://176.9.32.126:44098" + } ], "links": [ { @@ -49,5 +52,15 @@ "name": "whitepaper", "url": "https://github.com/dogecoin/dogecoin/blob/master/README.md" } - ] + ], + "tor": { + "nodes": [ + { + "url": "http://mtg4mq43p67cbj6qwcqgppjv7uzm7ximjlzapsbnbh5ls6zqkjsq26ad.onion" + }, + { + "url": "http://bfu3iiofsagyhi22zijfilbkzlzbalpylhhfcluqmezx2avdwcxut7yd.onion" + } + ] + } } diff --git a/assets/general/ethereum/info.json b/assets/general/ethereum/info.json index ad17768..eecbc62 100644 --- a/assets/general/ethereum/info.json +++ b/assets/general/ethereum/info.json @@ -34,6 +34,12 @@ "nodes": [ { "url": "https://ethnode1.adamant.im", + "alt_ip": "http://95.216.41.106:44099", + "hasIndex": true + }, + { + "url": "https://ethnode2.adamant.im", + "alt_ip": "http://95.216.114.252:44099", "hasIndex": true } ], @@ -54,5 +60,17 @@ "name": "whitepaper", "url": "https://github.com/ethereum/wiki/wiki/White-Paper" } - ] + ], + "tor": { + "nodes": [ + { + "url": "http://vj3qid4h2d4cj2gexivjuuybah3mjzenpdyr5bj6z4hctp52jn6qsgid.onion", + "hasIndex": true + }, + { + "url": "http://jpbrp6xapsyfnvyosrpu5wmoi62fqotazkicjeiob32yz77rt7axobqd.onion", + "hasIndex": true + } + ] + } } diff --git a/assets/general/lisk/info.json b/assets/general/lisk/info.json index 8283dc5..754bd57 100644 --- a/assets/general/lisk/info.json +++ b/assets/general/lisk/info.json @@ -31,10 +31,12 @@ { "url": "https://lisknode3.adamant.im" }, { "url": "https://lisknode4.adamant.im" } ], - "serviceNodes": [ - { "url": "https://liskservice3.adamant.im" }, - { "url": "https://liskservice4.adamant.im" } - ], + "services": { + "lskService": [ + { "url": "https://liskservice3.adamant.im" }, + { "url": "https://liskservice4.adamant.im" } + ] + }, "links": [ { "name": "github", @@ -48,5 +50,25 @@ "name": "reddit", "url": "https://reddit.com/r/Lisk" } - ] + ], + "tor": { + "nodes": [ + { + "url": "http://nl2c4vcsdrd6je3ebt4236yst55mbso72ojmksrmlyoikapgnu647tid.onion" + }, + { + "url": "http://qpjxvkathebm7oso3dk5hb4cggbeecqvcpcthuxlpovtn66plr6f4wyd.onion" + } + ], + "services": { + "lskService": [ + { + "url": "http://xqrymra5go2nb3cslb3c3iv4weeuicybcxpjee4ay2indk2hgo7rw4qd.onion" + }, + { + "url": "http://s2q6phc22icy73zjccjq66555gwtvyuyrodmadwhjdhmvyehb3qrcsid.onion" + } + ] + } + } } diff --git a/specification/openapi.json b/specification/openapi.json index f0ef597..f318309 100644 --- a/specification/openapi.json +++ b/specification/openapi.json @@ -7,6 +7,45 @@ "paths": {}, "components": { "schemas": { + "NodeInfo": { + "type": "object", + "required": ["url"], + "properties": { + "url": { + "type": "string" + }, + "alt_ip": { + "type": "string" + }, + "hasIndex": { + "type": "boolean" + } + } + }, + "ProjectLink": { + "type": "object", + "required": ["name", "url"], + "properties": { + "name": { + "type": "string" + }, + "url": { + "type": "string" + } + } + }, + "Service": { + "type": "object", + "required": ["url"], + "properties": { + "url": { + "type": "string" + }, + "alt_ip": { + "type": "string" + } + } + }, "TokenGeneral": { "type": "object", "required": [ @@ -156,40 +195,71 @@ "type": "integer", "description": "Time in ms when difference between in-chat transfer and Tx timestamp considered as acceptable" }, + "minNodeVersion": { + "type": "string", + "description": "Minimal node API version", + "example": "0.8.0" + }, "nodes": { "type": "array", "items": { - "type": "object", - "required": ["url"], - "properties": { - "url": { - "type": "string" - }, - "alt_ip": { - "type": "string" - }, - "hasIndex": { - "type": "boolean" - } - } + "$ref": "#/components/schemas/NodeInfo" }, "description": "Node links for API" }, + "services": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Service" + } + }, "links": { "type": "array", "items": { - "type": "object", - "required": ["name", "url"], - "properties": { - "name": { - "type": "string" + "$ref": "#/components/schemas/ProjectLink" + }, + "description": "Additional project links" + }, + "tor": { + "type": "object", + "properties": { + "website": { + "type": "string", + "description": "Project website URL (Tor)" + }, + "explorer": { + "type": "string", + "description": "Explorer URL (Tor)" + }, + "explorerTx": { + "type": "string", + "description": "URL to get tx info (Tor)" + }, + "explorerAddress": { + "type": "string", + "description": "URL to get address info (Tor)" + }, + "nodes": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NodeInfo" }, - "url": { - "type": "string" + "description": "Node links for API (Tor)" + }, + "services": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Service" } + }, + "links": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ProjectLink" + }, + "description": "Additional project links (Tor)" } - }, - "description": "Additional project links" + } } } },