Giter VIP home page Giter VIP logo

bpvalidate's People

Contributors

antlernana avatar benniesickie avatar dastom824 avatar deniscarriere avatar eosusa avatar matthewdarwin avatar poplexity avatar sajjadbaeidi avatar zaragast avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bpvalidate's Issues

Add a cache for connections

Remote endpoints sometimes are not reachable due to routing issues or whatever. Rather than having the report flip/flop between fail/ok, it would be better to cache the connection results for 1 hour or so.

Add FAQ about cloudflare

The cookie message is related to session cookies from cloudflare (or anywhere else). It checks if the server returns cookies or not. My understanding is that cloudflare always returns cookies and cannot be turned off.

So thus the warning about cloudflare. I have never used cloudflare, so I am relying on what others have told me.

The issue arises when you want to add mutiple BP endpoints into a loadbalancer. Then if every endpoint uses its own cookies, that's a hassle to deal with.

if node_type==producer, then the endpoint must not be filled in

Currently the validator complains that if there are no endpoints filed in a node block, then the section is useless. It would be better if the validator instead checks if node_type = producer and then make sure the endpoints are not filled in.

BP should never expose their producer.

These sections are not useless as if someone is considering mapping the data. They would want to show where a BP are producing.

Error if "producer_key" is associated with active/owner accounts

An โŒ Error should occur if the following =>

producer_public_key (bp.json) or producer_key (regproducer on chain) is associated to any active/owner accounts.

$ cleos get accounts <PUBLIC KEY>
{
  "account_names": []
}

๐Ÿ‘ If account_names is empty
๐Ÿ‘Ž if account_names is equal to producer account

slow down requests

The validator sends too many requests too fast to some endpoints and ends up getting 429 errors. Add some sleeps between requests to avoid this problem.

TLS endpoint verification fails

Report: https://validate.eosnation.io/producers/bpeosindexio.html

Issue:

The TLS enpoint verification fails with this error: invalid URL value=<500 Can't connect to api.bp.eosindex.io:443 (SSL connect attempt failed error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed)> for field=<node[1].ssl_endpoint> for url=<https://api.bp.eosindex.io>

However, as you can see on https://api.bp.eosindex.io, TLS is working and the certificate is valid.

check that OPTIONS returns reasonable content

curl -i -X OPTIONS http://jungle.eosn.io/v1/chain/get_info
HTTP/1.1 204 No Content
Server: nginx/1.14.2
Date: Thu, 01 Aug 2019 00:04:39 GMT
Connection: keep-alive
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, HEAD, OPTIONS
Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept
Access-Control-Max-Age: 1728000
Content-Type: text/plain; charset=utf-8
Content-Length: 0

Support /v1/node/get_supported_apis as introduced in 1.7.0

Added get_supported_apis RPC API (#6572)

A new RPC API /v1/node/get_supported_apis has been added to allow applications to discover the current set of activated plugins on an API server. This information can then allow applications to intelligently render their UI elements customized for the capabilities provided by the API server.

sort the versions report in reverse alphabetical order

Sort the versions report in reverse alphabetical order. This hlighlights the better bps.

Better yet parse the version numbers so the sorting knows understands the decimal points in the version number in case any position has more than 1 digit.

Make sure endpoints return content

All public endpoints should have filters so as to return useful content. Check these filters are enabled.

Example => doesn't return any content

$ curl -d '{"pos":-1,"offset":-20,"account_name": "eosio.ram"}' -X POST https://api.eosn.io/v1/history/get_actions
{"actions":[],"last_irreversible_block":3056616}

Example => returns content

$ curl -d '{"pos":-1,"offset":-20,"account_name": "eosio.ram"}' -X POST http://api.eosnewyork.io/v1/history/get_actions | jq .
{
  "actions": [
    {
      "global_action_seq": 8374113,
      "account_action_seq": 292302,
      "block_num": 3056922,
      "block_time": "2018-06-28T08:51:02.500",
      "action_trace": {
        "receipt": {
          "receiver": "eosio.token",
...
}

duplicate peer for field isn't a valid test

We are seeing this message on the tool, "duplicate peer for field=<node[1].p2p_endpoint> for host=publicnode.cypherglass.com:9876"

Have the same IP for all of our P2P and/or API endpoints is as designed because that IP points to a globally redundant anycast IP into a load balancing service.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.