- Visit What is alastria page to know more about us.
This page contains technical information needed to work in the Alastria ecosystem on the possible different ways.
You'll need at least a host/node to interact with the network, please read the technical requirements for it.
Operating System: Ubuntu 16.04 64 bits; Ubuntu 18.04 64 bits
Hardware:
Hardware | minimum | desired |
---|---|---|
CPU's: | 2 | 4 |
Memory: | 4 Gb | 8 Gb |
Hard Disk: | 100 Gb | 1000 Gb |
A DNS resolver must be available and accessible to make the installation process possible.
E.g. the command
dig +short netstats.telsius.alastria.io @resolver1.opendns.com
must yield a valid, routable IPv4 address
You'll need to open the following ports in your firewall, inbound and outbound to deploy a node:
Port | Type | Definition |
---|---|---|
21000 | TCP/UDP | Geth process application port (inbound and outbound for ethereum traffic) |
9000 | TCP | Constellation port (private transactions, inbound and outbound) |
80 | TCP | Outbound for Websockets feed to netstats server |
80 and 443 | TCP | Inbound RPC Port if using the automatic installation with Alastria Open Access Component |
8086 | TCP | Outbound for InfluxDB statistics collection |
53 | TCP/UDP | Access to external Internet based resolvers |
The IP resulting out of the installation process (e.g. the IPv4 part of the enode) , must not be an RFC1918 IPv4 address
10.0.0.0/8 172.16.0.0/12 192.168.0.0/16
These IP addresses are non-routable and will result in your node being unreachable and unable to participate in the blockchain.
In case the installation process yields a non-routable IP address, you must verify if your node is behind a firewall, in which case you might use the firewall's external address only in the case the firewall provides for Full-cone NAT.
Restricted-Cone NAT has not been tested yet for p2p functionality.
- (English) Installation Guide
- (Spanish) Installation Guide
- Repository of the access-point that comes installed inside the docker of the regular node Access-point
To know more about the use of Alastria Network, you can visit the Smart Contract Deployment Guides:
- Deploying to Alastria's network T (Quorum), created by Roberto Garcia, from Lleida University
- Deploying to Alastria's Red T using Remix & Metamask created by Jose María del Molino, from AYESA
- Deploying to Alastria's Red T using Truffle (Quorum) created by Guillermo Araujo, from Babel
(IMPORTANT) Be aware that the actual's Alastria network EVM version is byzantium and , therefore, the Smart Contracts must be compiled for this EVM's versión:
-
Remix:
-
Truffle: in truffle.js configuration file
compilers: { solc: { version: "0.5.17", // A version or constraint - Ex. "^0.5.0" settings: { optimizer: { enabled: true, runs: 100 // Optimize for how many times you intend to run the code }, evmVersion: "byzantium" // for T network } } }
-
Buidler: in buidler.config.ts configuration file
const config: BuidlerConfig = { solc: { version: '0.5.17', evmVersion: 'byzantium', optimizer: { enabled: true, runs: 100 } },
- Connecting to an Alastria's Red T node using WebSockets created by Ronny Demera, from Tribalyte
In order to check if your node is operational, you can establish monitoring based on your node's ingress and egress P2P traffic during the last 5 minutes.
As soon as the node comes up, e.g. starts to run, it will send metrics points to Alastria InfluxDB server.
These are queries to the InfluxDB API you can translate into your preferred language and/or framework:
Ingress traffic:
curl -G 'http://geth-metrics.planisys.net:8086/query?pretty=true' --data-urlencode "db=alastria" --data-urlencode "user=EDITED_USER" --data-urlencode "password=EDITED_PASSWORD" --data-urlencode "q=select mean(m1) from \"geth.p2p/InboundTraffic.meter\" where (time > now()-5m AND host =~ /^REG_YOUR_NODE_NAME$/)"
Egress traffic:
curl -G 'http://geth-metrics.planisys.net:8086/query?pretty=true' --data-urlencode "db=alastria" --data-urlencode "user=EDITED_USER" --data-urlencode "password=EDITED_PASSWORD" --data-urlencode "q=select mean(m1) from \"geth.p2p/OutboundTraffic.meter\" where (time > now()-5m AND host =~ /^REG_YOUR_NODE_NAME$/)"
The output are jsons that need to parsed and look like this (value is a pair where the second field should be > 0)
{
"results": [
{
"statement_id": 0,
"series": [
{
"name": "geth.p2p/OutboundTraffic.meter",
"columns": [
"time",
"mean"
],
"values": [
[
"2020-06-15T08:40:12.772770668Z",
1225.7697298713392
]
]
}
]
}
]
}
List of links with resources for the Alastria Network
-
WIKI
-
Resources
-
¿Need Help?