rpcを使用して叔父ブロックのヘッダーを取得するにはどうすればよいですか?
-
-
明らかに私はすでにコマンド「tezos-clientrpcget/chains/main/blocks/BM1FKYSNBX428uU6uNywK424xG7Ljc28vnKp4mcR43t2j9UkqvY」を試しましたが「サービスが見つかりませんでした」というエラーが返されますobviously i have already tried the command "tezos-client rpc get /chains/main/blocks/BM1FKYSNBX428uU6uNywK424xG7Ljc28vnKp4mcR43t2j9UkqvY" but it returns the error "Did not find service"
- 0
- 2019-02-11
- AndreaT
-
3 回答
- 投票
-
- 2019-02-11
ノードは以前の代替ヘッドを保持しません.現在のヘッドのみをクエリできます:
tezos-client -A mainnet-node.tzscan.io rpc help /chains/main/blocks
古いものは、新しいものと比較してフィットネスが小さすぎる場合に削除されます.
TzScanで表示できますが、TzScanが外部データベースに保存しているため、TzScanが表示したもの(ノードに他のノードが表示される場合があります)のみが表示されます.
A node does not keep the former alternative heads. You can only query the current heads:
tezos-client -A mainnet-node.tzscan.io rpc help /chains/main/blocks
Old ones are removed when their fitness is too small compared to new ones.
You can see them on TzScan, but only the ones that TzScan saw (your node might see other ones), because TzScan stores them in an external database.
-
だから、私はそれらが発生したときだけ、または二度とそれらを見ることができません.理にかなっている しかし、どうすれば「リアルタイム」でそれらを見ることができますか?so, i can see them only when they occur or never again. Make sense but , how i can see them "in real time" ?
- 0
- 2019-02-11
- AndreaT
-
あなたは常にノードから頭を引っ張り続ける必要があります...You have to keep pulling heads from the node all the time...
- 0
- 2019-02-11
- lefessan
-
- 2019-02-11
You can get the alternative heads using tzscan API if you want :
http://api1.tzscan.io/v3/heads
This is basically what we display in the alt branches page :
-
お返事ありがとうございますが、自分で復旧し、第三者のデータを使用しない方法を理解したいと思います.thanks for your reply, but I would like to understand how to recover them by myself and do not use third-party data.
- 0
- 2019-02-12
- AndreaT
-
tzscan.ioは動作しなくなったため、この回答は反対票を投じる必要があります.This answer should be downvoted as tzscan.io is no longer operational.
- 0
- 2020-02-20
- Jev Björsell
-
- 2019-02-12
私はいくつかのテストを行いましたが、FLFOCPの「ノードは以前の代替ヘッドを保持していません」というステートメントは真実ではないと言えます.
tezos-client rpc get /chains/main/blocks
を使用してノードにクエリを実行すると、block_headsのリストが表示されます.最初のヘッドは現在のヘッドですが、他のヘッドはすべて(実際にはすべてではありません**)の代替ヘッドです.また、
tezos-client rpc get /chains/main/blocks/<one head from the list>
を使用してノードにクエリを実行すると、ノードに関するすべての情報が取得されます.したがって、ノードは代替ヘッドも追跡し、取得できます!
**メモ
異なるノードをクエリすると、異なる結果が得られます. 私のサービスノードでは21ヘッドのリストを取得し、mainnet-node.tzscan.ioでは49ヘッドを取得し、ベイカーでは55ヘッドを取得します.これは、ノードの稼働時間に部分的に関連していますが、それだけではありません.一部のヘッド(最近のものでも)は1つのノードにのみ存在し、他のノードには存在しません.
(これが、ノードの1つで上の頭を探すときにエラーが発生した理由です)
ノードがすべて同じ情報を持っていない理由を誰かが知っていますか(すべてが同じ稼働時間を持っていることを考慮して)?
I did some tests and I can say that FLF OCP's statement "A node does not keep the former alternative heads" it's not true.
If i query my node with
tezos-client rpc get /chains/main/blocks
i get a list of block_heads. The first one is the current head but the others are all (actually not all**) the alt heads.And if i also query my node with
tezos-client rpc get /chains/main/blocks/<one head from the list>
i get all the info about it.So, the node keep tracks of the alt heads too and i can retrieve it!
**Just a note
Quering different node give me different result. On my service node i get a list of 21 heads, on mainnet-node.tzscan.io i get 49 heads and on my baker i get 55 heads. This is partially related to node's uptime but not only. Some heads (even recent ones) are present only in one node and not in others.
(this the reason why i got an error looking for the head above on one of my node)
Does anyone have any idea why the nodes do not have all the same information (considering that all have the same uptime)?
-
ジェネシスブロック以降、ノードはすべてのaltヘッドを表示したままにするわけではありません.表示されているのは、ノードが表示した最新のaltヘッドです.古いものは削除されます. ノード間の違いは、すべてのノードがすべての代替ヘッドを認識しているわけではないためです.ノードの1つが、altブランチを共有するノードに接続されていない場合、それが表示されないのは正常です.したがって、ある時点で誰に接続しているかによって異なります.The node does not keep every alt heads seen since the genesis block, what you are seeing is the more recent alt heads that your node saw. Old ones are removed. The difference between nodes is because every node does not see every alt heads. If one of your node is not connected to a node which share an alt branch with you, that's normal to not see it. So it will depend to who you are connected at one point.
- 1
- 2019-02-12
- cago
-
はい、あなたは正しいです、そして私は代替ヘッドの「履歴」が最大5サイクル古いと確信しています(これは、過去に最大5サイクル発生したダブルベーキングの証拠を送信できるためです)yes, you are right and i'm quite confident that the alt heads "history" is 5 cycles old max (this is also the reason because you can send a double baking evidence occurred max 5 cycles in the past)
- 0
- 2019-02-12
- AndreaT
-
いいえ、ダブルベーキングの証拠の5サイクルの履歴は、凍結された預金と報酬が後で罰のために利用できないという理由だけですNo, the 5 cycle history for double baking evidence is just because the frozen deposits and rewards are not available later for punishment
- 0
- 2019-02-12
- lefessan
-
「ノードが以前の代替ヘッドを保持しない」とは、ノードがそれらをあまり長く保持せず、後で削除されることを意味します(私の応答でそれを言います...).RPCで表示されるのは最近のヘッドのみですが、久しぶりでもそれ以上は表示されません(mainnet-node.tzscan.ioは2018年12月19日から稼働しており、49個のヘッドしか表示されていません..)What I meant by "A node does not keep the former alternative heads" is that the node does not keep them very long, they are removed afterwards (I say that in my response...). What you see with the RPC is only the recent heads, but you cannot see more than that, even after a long time (mainnet-node.tzscan.io has been up since Dec 19, 2018, and you only see 49 heads...)
- 0
- 2019-02-12
- lefessan
このレベルを見てください(tzscan alt.ブランチからランダムに選択): https://tzscan.io/heads?level=308597
このレベルには2つのブロックがあります: BKwxHgaBKAPBK8ofYgUoJTn3WVMbhVouhZgDzExmnAXHsUXqvp7(勝者) BM1FKYSNBX428uU6uNywK424xG7Ljc28vnKp4mcR43t2j9UkqvY(叔父)
tzscanは、叔父のブロックに関するすべてのデータを表示します. https://tzscan.io/BM1FKYSNBX428uU6uNywK424xG7Ljc28vnKp4mcR43
しかし、rpc呼び出しを使用して同じデータを表示するにはどうすればよいですか?
ヒントのヒント