Livrables ARM en attente : Raspberry PI 3 HS

J’ai du louper quelque chose mais mon nœud est arrêté sur le block 55765. Dans le log il est indiqué qu’il n’arrive pas à ce connecter:

2017-09-26T17:08:29+00:00 warn Could not reach duniter.s-entraider.net:10901
2017-09-26T17:08:31+00:00 warn Could not reach g1.duniter.org:10901
2017-09-26T17:08:34+00:00 warn ETIMEDOUT
2017-09-26T17:08:34+00:00 info Peer GYEtpPnK2NddBJa4gr1LF6GvZUQN4jtA9agiYBxnHX1e unreachable: now considered as DOWN.
2017-09-26T17:08:37+00:00 info WS2P: Could not connect to peer -------- using `WS2P g1.duniter.org 20903: WS2P connection timeout`
2017-09-26T17:08:47+00:00 info WS2P: Could not connect to peer -------- using `WS2P 88.174.120.187 20902: WS2P connection timeout`
2017-09-26T17:08:57+00:00 info WS2P: Could not connect to peer -------- using `WS2P 78.242.14.140 10090: WS2P connection timeout`
2017-09-26T17:09:07+00:00 info WS2P: Could not connect to peer -------- using `WS2P 109.19.209.9 20900: WS2P connection timeout`
2017-09-26T17:09:07+00:00 info Block resolution: 0 potential blocks after current#55765...
2017-09-26T17:09:07+00:00 info Block resolution: 0 potential blocks after current#55765...

Quand je vais sur www.jouin.xyz:10901, j’ai comme retour: Upgrade Required

Je n’utilise pas UPnP

Je te suggère de réessayer, car malheureusement mon nœud était le seul sur le réseau Ğ1 à fournir WS2P public et il a rencontré un problème de firewall qui bloquait tout.

Ou alors tu branches ton nœud sur Ğ1-Test où nous sommes plusieurs avec un WS2P public.

OK, Merci.

Par contre pourquoi sur www.jouin.xyz:10901, j’ai comme retour: Upgrade Required ?
Par conséquence, je n’ai plus d’infos comme http://www.jouin.xyz:10901/blockchain/difficulties ou autre. Ce que j’utilisais

Tu as peut-être définit WS2P public sur www.jouin.xyz:10901, tu ne peux pas y accéder par une requête HTTP classique.

Pour l’autre URL, c’est une URL BMA. Alors s’il te le faut, tu auras besoin de le réactiver.

Merci.
Il me semble que tu souhaites supprimer BMA. Dans ce cas, comment avoir ces informations dans l’avenir?

Je ne compte pas le supprimer, par contre ça pourrait devenir un module optionnel.

Par ailleurs, d’autres planchent déjà vers de nouvelles API bien plus adaptées : Nouvelle API : WS2P

Merci.
J’ai installé le .db sur un Raspberry Pi2 avec Strech ça fonctionne
J’ai installé les sources sur unRaspberri Pi2 avec Jessie et ça fonctionne
Merci

Par contre quand je fais http://localhost:9220/network/ws2p/info, il me met que ce n’est pas une fonction get alors que http://localhost:9220/webmin/summary fonctionne. Ceci est pour ajouter sur mon mini afficheur le nombre de peers

Oui c’est parce que tu mélange les API BMA et duniter-ui, chaque API a ses propres url. L’url network/ws2p/info n’existe que chez BMA, donc c’est normal que la duniter-ui te réponde que ce n’est pas une fonction get :wink:

Ok, je comprends. Merci
Cependant en activant BMA, je n’arrive pas à avoir les informations…J’ai sans doute oublié de cocher quelque chose. Je vérifie…

Activer BMA ne suffit pas, il faut te rendre sur ton endpoint BMA !
localhost:9220 c’est ton endpoint duniter-ui, tu ne pourra donc jamais faire une requête de type BMA sur localhost:9220.
Ton endpoint BMA dépend de ta configuration réseau :slight_smile:

Dans ce cas la, je ne comprend pas.
Pour un nœud mobile, si le endpoint BMA dépend de la configuration du réseau…je suis mal partie…
Pourquoi ne pas faire une cohérence entre toutes les requêtes? Ca simplifierai la vie. Je ne pourrai donc pas afficher la valeur peers sur mon mini-écran ce qui est dommage.

@stephane une premiere partie de solution si toutefois tu dispose du binaire sqlite3 sur tes RPI ,

je viens de faire un petit script a executer dans le repertoire ou se trouve duniter.db:

#!/bin/bash
f=$(sqlite3 duniter.db ‘select endpoints from peer’ )
file=“tmp.txt”
echo “$f” | tr [ \n > $file
while IFS= read line ; do
if [ "line" = "" ] ; then continue; fi isWS2P=(echo “$line” | grep “WS2P”)
if [ -z “$isWS2P” ]; then
continue;
fi
echo “$line”
done < $file
rm $file

je l’ai nommé getpeers.sh

le resultat de “bash getpeers.sh” en cet instant

“BASIC_MERKLED_API g1.duniter.org 10901”,“WS2P 63bbc4d7 g1.duniter.org 20903”]
“BASIC_MERKLED_API g1.cgeek.fr 80”,“WS2P be8c98ff 88.174.120.187 20903”]
“BASIC_MERKLED_API g1.librelois.fr 10901”,“MONIT_API g1-monit.elois.org 443”,“WS2P c1c39a0a g1-monit.elois.org 10902”,“BASIC_MERKLED_API g1.elois.org 80”,“BMAS g1.elois.org 443”,“BMATOR 3k2zovlpihbt3j3g.onion 80”]
“BASIC_MERKLED_API duniter.help-web-low.fr 151.80.40.148 2001:41d0:e:d94::1 8999”,“WS2P afaa79d8 duniter.help-web-low.fr 7777”]
“WS2P 0ee9099e 78.242.14.140 10090”]
“BASIC_MERKLED_API www.jouin.xyz 10902”,“WS2P a85b9f55 83.115.9.217 20921”,“BASIC_MERKLED_API www.jouin.xyz 10901”,“WS2P 5f3ca103 83.115.9.217 20909”]
“BASIC_MERKLED_API www.jouin.xyz 10901”,“WS2P 5f3ca103 83.115.9.217 20907”,“WS2P 3c8b67b1 83.115.9.217 20904”,“WS2P 1e66090e 83.115.9.217 20904”]
“BASIC_MERKLED_API 88.174.120.187 17167”,“WS2P 4797d720 88.174.120.187 20906”]
“MONIT_API g1-monit.elois.org 443”,“WS2P c1c39a0a g1-monit.elois.org 10902”]

ce qui permet d’executer la ligne suivante pour savoir combien de noeud (membre?) en train de tourner avec WS2P :

$>bash getpeers.sh | grep -o WS2P | wc -l
12

3 Likes

Veux-tu vraiment que l’administration de ton nœud soit accessible de tous ? BMA est une API publique, la mélanger avec une API privée me semble être une mauvaise idée.

Tu m’avais donné les liens pour avoir les informations présentes sur l’interface web de Duniter. Pour le nombre de Peers, il n’est à priori pas possible de l’avoir à ma connaissance. D’ou la notion de cohérence, mais ce n’ai que mon point de vue. Il n’y a pas ici de notion public/private mais seulement de récupérer l’information présente sur l’interface web de Duniter.

@stephane, plus simple pour ton écran il y a la commande list-nodes qui te renvoi directement la liste de tout les noeuds WS2P du réseau connus par ton nœud :

$ duniter ws2p list-nodes
D9D2zaJoWYWveii1JRYLVK3J4Z7ZH3QczoKrnQeiM6mx WS2P c1c39a0a g1-monit.elois.org 10902
3AF7bhGQRt6ymcBZgZTBMoDsEtSwruSarjNG8kDnaueX WS2P 63bbc4d7 g1.duniter.org 20903
2ny7YAdmzReQxAayyJZsyVYwYhVyax2thKcGknmQy5nQ WS2P be8c98ff 88.174.120.187 20903
4fHMTFBMo5sTQEc5p1CNWz28S4mnnqdUBmECq1zt4n2m WS2P afaa79d8 duniter.help-web-low.fr 7777
CRBxCJrTA6tmHsgt9cQh9SHcCc8w8q95YTp38CPHx2Uk WS2P 57a752de 81.57.152.178 20900
7G2mS5aCoT4jCL5WfLKQsXfMJaV9d3jVGUGnwq6Tg36J WS2P a85b9f55 83.115.9.217 20921
7G2mS5aCoT4jCL5WfLKQsXfMJaV9d3jVGUGnwq6Tg36J WS2P 5f3ca103 83.115.9.217 20909
48SLtTLL3CxAXUcmbKwp2PUg1hUvEh2s5EwEpRh8RaoR WS2P 0ee9099e 78.242.14.140 10090
DT2a5kZprbx5fbs7caxb6d3VmYcuqy4UHHmVq6rjRGWi WS2P d531665a 109.19.209.9 20900
2vDCzjgFXcgqG6Zc2RzLfsYjBNbjF9gJPxxDixTuP2mU WS2P 5f3ca103 83.115.9.217 20907
2vDCzjgFXcgqG6Zc2RzLfsYjBNbjF9gJPxxDixTuP2mU WS2P 3c8b67b1 83.115.9.217 20904
2vDCzjgFXcgqG6Zc2RzLfsYjBNbjF9gJPxxDixTuP2mU WS2P 1e66090e 83.115.9.217 20904
CASUtBTa7gijmKDqWeutLvBdvgLivF2nc11FykAUP2rS WS2P 4797d720 88.174.120.187 20901
4tNQ7d9pj2Da5wUVoW9mFn7JjuPoowF977au8DdhEjVR WS2P c1c39a0a g1-monit.elois.org 10902
2 Likes

Merci.
Cependant cela ne correspond pas au nombre de “Peers” affiché sur l’interface, J’en ai 10 affichés mais une liste de 14 avec la commande proposée.

@elois excellent :slight_smile:
je ne l’avais pas tenté malgré

$>node duniter -h
ws2p [list-prefered|list-privileged|list-nodes|show-conf] WS2P operations for configuration and diagnosis tasks.


je viens d’'en faire un autre, je pense a @stephane
pour retrieve les infos du dernier block et combien de block a etait calculé par une pubkey

ca peut etre sympa sur son afficheur d’être prevenu d’avoir calculé un nouveau block ^^

#!/bin/sh
db=“duniter.db”
sleept=5
function getNbBlockPubkey {
nbblocks=$(sqlite3 $db “select count(*) from block where issuer="$1"”)
echo “NbResolved $nbblocks”
}
function getByNumBlock {
numblock=1 hashblock=(sqlite3 $db "select hash from block where number=numblock") pubkey=(sqlite3 $db "select issuer from block where number=numblock") _time=(sqlite3 $db "select time from block where number=numblock") time=(date -d @$_time ‘+%d/%m/%y-%H:%M:%S’)
url=“https://g1.duniter.fr/#/app/block/“$numblock”/”$hashblock
# time of computed block
echo “Time $time”
# number of block
echo “Nblock $numblock”
# hash of block
echo “Hblock $hashblock”
# pubkey of issuer
echo “Pubkey $pubkey”
# how many block issuer as computed
getNbBlockPubkey “$pubkey”
# cesium url to
echo "Url url" } while [ 1 ] ; do lastnumblock=(sqlite3 $db ‘select max(number) from block;’)
getByNumBlock $lastnumblock
#getNbBlockPubkey “A1B2…”
echo “”
sleep $sleept
done

2 Likes

Merci.

oui mais cela correspond au retour de l’url bma /network/ws2p/heads, je croyais que c’étais ça que tu voulais.

Allez ne faisons plus durer le suspense :

curl localhost:9220/webmin/network/ws2p/info
{
  "connections": {
    "level1": [],
    "level2": [
      {
        "pubkey": "2ny7YAdmzReQxAayyJZsyVYwYhVyax2thKcGknmQy5nQ",
        "uid": "cgeek",
        "handle": "192.168.1.24:20906"
      },
      {
        "pubkey": "4fHMTFBMo5sTQEc5p1CNWz28S4mnnqdUBmECq1zt4n2m",
        "uid": "pafzedog",
        "handle": "192.168.1.24:20906"
      },
      {
        "pubkey": "5dzkzedBWdeqTFCaD7AkKPMPusfRUL1XyFNJWWGYQ9f1",
        "uid": "vincentux",
        "handle": "192.168.1.24:20906"
      },
      {
        "pubkey": "48SLtTLL3CxAXUcmbKwp2PUg1hUvEh2s5EwEpRh8RaoR",
        "uid": "AlanSchmitt",
        "handle": "192.168.1.24:20906"
      },
      {
        "pubkey": "3wdDzBz18mWupx1UChMnhky2Nut3XVnyn9U7Y662J7yE",
        "uid": "smyds",
        "handle": "192.168.1.24:20906"
      },
      {
        "pubkey": "CASUtBTa7gijmKDqWeutLvBdvgLivF2nc11FykAUP2rS",
        "uid": "",
        "handle": "192.168.1.24:20906"
      },
      {
        "pubkey": "CASUtBTa7gijmKDqWeutLvBdvgLivF2nc11FykAUP2rS",
        "uid": "",
        "handle": "192.168.1.24:20906"
      },
      {
        "pubkey": "CASUtBTa7gijmKDqWeutLvBdvgLivF2nc11FykAUP2rS",
        "uid": "",
        "handle": "192.168.1.24:20906"
      },
      {
        "pubkey": "CASUtBTa7gijmKDqWeutLvBdvgLivF2nc11FykAUP2rS",
        "uid": "",
        "handle": "192.168.1.24:20906"
      },
      {
        "pubkey": "7G2mS5aCoT4jCL5WfLKQsXfMJaV9d3jVGUGnwq6Tg36J",
        "uid": "sjouin",
        "handle": "192.168.1.24:20906"
      }
    ]
  }
}

Et pour la vue réseau :

curl localhost:9220/webmin/network/ws2p/heads
[
  {
    "message": "WS2P:HEAD:2ny7YAdmzReQxAayyJZsyVYwYhVyax2thKcGknmQy5nQ:56026-00000832324D902B06BE961C4A92E6FD66C4E4213F12E180D56BC7C2E7AFC1DD",
    "sig": "JRNCEBdTHeBUavF8MKYq8fiWX9DsI7Zx3zv/1AHjKVltZUSQqynPN0xKZv2bG2lDjsfQFMD464xAF9kg9ClHCw==",
    "uid": "cgeek"
  },
  {
    "message": "WS2P:HEAD:4fHMTFBMo5sTQEc5p1CNWz28S4mnnqdUBmECq1zt4n2m:56026-00000832324D902B06BE961C4A92E6FD66C4E4213F12E180D56BC7C2E7AFC1DD",
    "sig": "tV8Wyot8RspyMEYRIodcaIkr1aX3+w2EsJDdxQBRJmB7IUSJpI6MKmuch2mwebEfwzrx8H8JU4gAAy8Ymz9aAA==",
    "uid": "pafzedog"
  },
  {
    "message": "WS2P:HEAD:3AF7bhGQRt6ymcBZgZTBMoDsEtSwruSarjNG8kDnaueX:56026-00000832324D902B06BE961C4A92E6FD66C4E4213F12E180D56BC7C2E7AFC1DD",
    "sig": "RxnE2oVaPgN4QDaChfrZe45DZrYUiqt9GTGou5rjo/8Q/EgBP98icGhqGilPUg8IGpxlkKUt5Op6Uojw7VQQBg==",
    "uid": ""
  },
  {
    "message": "WS2P:HEAD:GfKERHnJTYzKhKUma5h1uWhetbA8yHKymhVH2raf2aCP:56026-00000832324D902B06BE961C4A92E6FD66C4E4213F12E180D56BC7C2E7AFC1DD",
    "sig": "5kT8nmfrMVGRr8eWhwG8M0CJSoxfitZ03MXbGamuTCSv93heQJrr1AkSwE3iVqRhBUEeMC8yaur2NBtOncaLAQ==",
    "uid": "moul"
  },
  {
    "message": "WS2P:HEAD:38MEAZN68Pz1DTvT3tqgxx4yQP6snJCQhPqEFxbDk4aE:56026-00000832324D902B06BE961C4A92E6FD66C4E4213F12E180D56BC7C2E7AFC1DD",
    "sig": "yx9Nrf0IQX+vKP70VS6W88qrH//sLCBdsM8/TsrzBlOccUPbKloLYh2K7JiYVDsTsLmvYMeojUOv38tU9pe2CQ==",
    "uid": "BenoitLavenier"
  },
  {
    "message": "WS2P:HEAD:D9D2zaJoWYWveii1JRYLVK3J4Z7ZH3QczoKrnQeiM6mx:56026-00000832324D902B06BE961C4A92E6FD66C4E4213F12E180D56BC7C2E7AFC1DD",
    "sig": "UHxjTTuW/i530jD+3x8C7JVG8eXoQgBDBxT/TLubvy648qncmQsP5EgJu8te9qinYFb1+eVCup6Fdt5wPsMNCA==",
    "uid": "elois"
  },
  {
    "message": "WS2P:HEAD:4e5X6GGusfGw6BhFrmdRG2Bx7mLgWUiZzBo1AUWno7zT:56026-00000832324D902B06BE961C4A92E6FD66C4E4213F12E180D56BC7C2E7AFC1DD",
    "sig": "eEnf89ynjZB7EvqE9MSsTw6kMmfWqcIZI8noRxYZsXZvmuGQBoBUKEuzL3aOiq2ZNiqeHuGdrJ5iH1yeBng2CA==",
    "uid": "floppy"
  },
  {
    "message": "WS2P:HEAD:CRBxCJrTA6tmHsgt9cQh9SHcCc8w8q95YTp38CPHx2Uk:56026-00000832324D902B06BE961C4A92E6FD66C4E4213F12E180D56BC7C2E7AFC1DD",
    "sig": "QloCBZnAM+COWlAtS14LGx5v1ClFW47ZsMpmHBVlxIa2m/lsIWJm17XayzA8ULji0wtGrTl6DTWsPIkd78VCBw==",
    "uid": "gerard94"
  },
  {
    "message": "WS2P:HEAD:DT2a5kZprbx5fbs7caxb6d3VmYcuqy4UHHmVq6rjRGWi:56026-00000832324D902B06BE961C4A92E6FD66C4E4213F12E180D56BC7C2E7AFC1DD",
    "sig": "n/8dQBC/TCZq9O5NvSmzVKF2R7jHZFB7mtRpjO2KmR1EXXbvziaju/i9ZCbNMPon1smTscqYwqNFppkEvPIUBw==",
    "uid": ""
  },
  {
    "message": "WS2P:HEAD:5dzkzedBWdeqTFCaD7AkKPMPusfRUL1XyFNJWWGYQ9f1:56026-00000832324D902B06BE961C4A92E6FD66C4E4213F12E180D56BC7C2E7AFC1DD",
    "sig": "zC7AFl8vAmVDaeoe9xglV0MrMnczsEpoBgccJ69wIJG/18kTmA7dWia1/p4dvVhY2if9fElrFoFQieDMVgW/BA==",
    "uid": "vincentux"
  },
  {
    "message": "WS2P:HEAD:3wdDzBz18mWupx1UChMnhky2Nut3XVnyn9U7Y662J7yE:56026-00000832324D902B06BE961C4A92E6FD66C4E4213F12E180D56BC7C2E7AFC1DD",
    "sig": "Mpzl4qeX4svYKXwGYau/LXa2obOB5XsGgFcCaqQo9/3cZAKdLjWMJEqM2IfbrgeML0+WmqQKoysYg3DDN1sKCw==",
    "uid": "smyds"
  },
  {
    "message": "WS2P:HEAD:Hb2TLnB6d3dKiC1VibaUJbZtLhyuHYaDxXNvVd7NqXJe:56026-00000832324D902B06BE961C4A92E6FD66C4E4213F12E180D56BC7C2E7AFC1DD",
    "sig": "TgP4PdpbjZ13NzlbO2TQZCnGNnjNXPJxqtWkuZe+QcLSp2kevrb3v5YRrWSrUv8sOVto/CF1EI3Xkgt8yv94Bg==",
    "uid": "SimonLefort"
  },
  {
    "message": "WS2P:HEAD:48SLtTLL3CxAXUcmbKwp2PUg1hUvEh2s5EwEpRh8RaoR:56026-00000832324D902B06BE961C4A92E6FD66C4E4213F12E180D56BC7C2E7AFC1DD",
    "sig": "hepWkja/L5FcakH1sveAoOqWooE0oAgxD5N9esrkucYgyaw5I5g1jdhjbHjfF03SUQTVFWQ+4up6iqacfipTCw==",
    "uid": "AlanSchmitt"
  },
  {
    "message": "WS2P:HEAD:7G2mS5aCoT4jCL5WfLKQsXfMJaV9d3jVGUGnwq6Tg36J:56026-00000832324D902B06BE961C4A92E6FD66C4E4213F12E180D56BC7C2E7AFC1DD",
    "sig": "8+bqNP6TLJ2IWDN2gubD/i3wlfJhNVA70B0DgjPSoKL8ogfnFcpLUQ8HAilxGwauWROfwMWt19x1xjkTdMYrBw==",
    "uid": "sjouin"
  },
  {
    "message": "WS2P:HEAD:CASUtBTa7gijmKDqWeutLvBdvgLivF2nc11FykAUP2rS:56026-00000832324D902B06BE961C4A92E6FD66C4E4213F12E180D56BC7C2E7AFC1DD",
    "sig": "qoi82Ivrfk4WP7+aPVX2X4T+eFJu/AhlHU5bOhVzxssUo5R4WrAzkabKxHyF+FOoewmvBslI/9eZBL4zMsOCDA==",
    "uid": ""
  },
  {
    "message": "WS2P:HEAD:Zbpv9GspqWgMQVBzG7ascahHJkqyNb8BEawQ9JXE2RT:56026-00000832324D902B06BE961C4A92E6FD66C4E4213F12E180D56BC7C2E7AFC1DD",
    "sig": "3aOUEXDo4uO6591WjI65ZQOFoCgk3uYpUrLL2pzL+pepi1anYlh2MJc11DxuaHdXKHm7u4spGTObWuPpdY7hBA==",
    "uid": ""
  }
]

Fonctions uniquement disponible quand Duniter est lancé avec webstart ou direct_webstart. L’API BMA n’est pas requise.

1 Like