XRPLF / rippled

Decentralized cryptocurrency blockchain daemon implementing the XRP Ledger protocol in C++
https://xrpl.org
ISC License
4.5k stars 1.46k forks source link

Sending XRP fortest report [Amendment blocked, need upgrade] error. #2347

Closed yamadakin closed 5 years ago

yamadakin commented 6 years ago

I run rippled locally in testnet mode, when I send XRP for test, it show [Amendment blocked, need upgrade], how to resolve?

sending XRP for test report [Amendment blocked, need upgrade] error

#sign
{  
   "result":{  
      "error":"amendmentBlocked",
      "error_code":14,
      "error_message":"Amendment blocked, need upgrade.",
      "request":{  
         "command":"submit",
         "tx_blob":"120000228000000023000F424024000000012EFFFFFFFF614000000001312D00684000000000000064732103B76940190C2F91AE637A5CC29C97299ABEBC656BA173E776BB400638D53E492474473045022100F190F557DF5CCD83641569C3B16780BE52D62F4846286B37284882FF5A64212502205F79C75C570606F29387E73F80B26EC94F1584C68E65073803F77C23B389AAED8114A08271A625BAB985976A06F51D89BDF8599EF560831464CB713B7159B8FB71E48CB03C201E15885FA713F9EA7C1F687474703A2F2F6578616D706C652E636F6D2F6D656D6F2F67656E657269637D0472656E74E1F1"
      },
      "status":"error"
   }
}
#server_info
{
  "result": {
    "info": {
      "amendment_blocked": true,
      "build_version": "0.90.0-b2",
      "complete_ledgers": "6015234-6022198,6022744-6025498,6026905-6029106,6030549-6031191,6031472-6032443,6033090-6033095,6033339-6033537,6034791-6034950,6034980-6035798,6036466,6036516-6036703,6037478-6037671,6038085-6040415,6042691-6046229,6046413-6053861",
      "hostid": "XRP-DEV",
      "io_latency_ms": 1,
      "last_close": {
        "converge_time_s": 2,
        "proposers": 6
      },
      "load": {
        "job_types": [
          {
            "job_type": "untrustedValidation",
            "per_second": 1
          },
          {
            "in_progress": 1,
            "job_type": "clientCommand"
          },
          {
            "job_type": "trustedValidation",
            "per_second": 1
          },
          {
            "job_type": "writeObjects",
            "per_second": 1
          },
          {
            "job_type": "trustedProposal",
            "per_second": 1
          },
          {
            "job_type": "peerCommand",
            "per_second": 269
          },
          {
            "job_type": "diskAccess",
            "per_second": 1
          },
          {
            "job_type": "WriteNode",
            "per_second": 1
          }
        ],
        "threads": 16
      },
      "load_factor": 1,
      "peers": 10,
      "pubkey_node": "n9Mvv8xpTnbynEhhkFZaUr3QZRvfptXyLhrTMnnQcMBKaxM4ckBh",
      "pubkey_validator": "none",
      "server_state": "tracking",
      "state_accounting": {
        "connected": {
          "duration_us": "109764796359",
          "transitions": 1307
        },
        "disconnected": {
          "duration_us": "1380014",
          "transitions": 1
        },
        "full": {
          "duration_us": "66632506583",
          "transitions": 669
        },
        "syncing": {
          "duration_us": "16021879182",
          "transitions": 934
        },
        "tracking": {
          "duration_us": "47745258233",
          "transitions": 2093
        }
      },
      "uptime": 240166,
      "validated_ledger": {
        "age": 1,
        "base_fee_xrp": 1e-05,
        "hash": "F3A27FF1097504BBEFD94611783AD2A1651EF23C7243BEF16E686B1443D49F91",
        "reserve_base_xrp": 20,
        "reserve_inc_xrp": 5,
        "seq": 6053861
      },
      "validation_quorum": 4,
      "validator_list_expires": "2018-Jan-24 00:00:00"
    },
    "status": "success"
  }
}
wilsonianb commented 6 years ago

Hi @yamadakin The DepositAuth and Checks amendments have been enabled on the testnet. You can upgrade to rippled version 0.90.0-b4 to stop being amendment blocked.

passionofvc commented 6 years ago

hi @wilsonianb thanks!

MarkusTeufelberger commented 6 years ago

Maybe the "amendment blocked" message could also list the (hash of the) amendment(s) that are blocking the server? That way it would be at least somehow possible to search for clues which rippled version should be used.

wilsonianb commented 6 years ago

You can use the feature command to determine which amendments are enabled on the network but unsupported by your node. For example, the response while running 0.90.0-b2 on the testnet includes:

         "157D2D480E006395B76F948E3E07A45A05FE10230D88A7993C71F97AE4B1F2D1" : {
            "enabled" : true,
            "supported" : false,
            "vetoed" : false
         },
         "F64E1EABBE79D55B3BB82020516CEC2C582A98A6BFE20FBE9BB6A0D233418064" : {
            "enabled" : true,
            "supported" : false,
            "vetoed" : false
         }
MarkusTeufelberger commented 6 years ago

So how about: "error_message":"Amendment blocked, need upgrade. Run the https://ripple.com/build/rippled-apis/#feature command to get a list of unsupported amendments on your node.",?

It is a quite harsh error case and not much else you can do at this point anyways other than get on a different fork or upgrade the software.

gituser commented 6 years ago

completely agree with @MarkusTeufelberger here, it's not developer friendly to break testnet all the time at all :(

and also mainnet upgrades should be more smooth, e.g. recent validators config directive upgrade.

chriscohoat commented 6 years ago

I've made a Docker image that compiles rippled from source and (as of right now) runs 0.90.0-b6:

https://github.com/chriscohoat/docker-rippled and https://hub.docker.com/r/chriscohoat/docker-rippled/

This gets me past the Amendment blocked error for now.

MarkusTeufelberger commented 6 years ago

That Dockerfile has several problems... but yeah, building in a container is one way to get this done.

chriscohoat commented 6 years ago

@MarkusTeufelberger if you want to let me know the specific problems I can fix / it'll help me...it's my second day working with Ripple so the more I know the better.

MarkusTeufelberger commented 6 years ago

Most issues are more with your usage of Docker than rippled actually. Stuff that caught my eye:

chriscohoat commented 6 years ago

Thanks! The admin ports are world accessible because they are behind security groups and completely firewalled off. Makes sense for layers/packages/though.

kiahmed commented 6 years ago

using latest build, still getting this..why wouldn't it allow tx sumbission? this is something basic fundamental operation { "result": { "error": "amendmentBlocked", "error_code": 14, "error_message": "Amendment blocked, need upgrade.", "request": { "command": "submit", "destination": { "address": "rnSsPiFqjyRX9bagm5LExHmXExyX7fBNzo", "amount": { "currency": "XPR", "value": "20" } }, "source": { "address": "rBcqzVptDrcLvgrbTsbmejcGzD8GExfNR1", "maxAmount": { "currency": "XRP", "value": "20" } } }, "status": "error" } }

MarkusTeufelberger commented 6 years ago

Which version do you mean by "latest build"? You need to compile rippled yourself, you can NOT use the rpm package on testnet at the moment.

wilsonianb commented 6 years ago

You should be able to use the latest rpm from the ripple-nightly repository

kiahmed commented 6 years ago

@MarkusTeufelberger why would i have to build? Doesnt that mean I have to modify some code from my req which is just being able to submit a tx? I am running the latest docker container with custom config.

@wilsonianb does that mean I have to write my own dockerfile ?

MarkusTeufelberger commented 6 years ago

There is no official Docker container (yet?), but 0.90.0 has been released now, so you should now be able to use it now. The testnet had features enables that didn't exist in 0.81.0.

kiahmed commented 6 years ago

the one i used it had the 0.90.0 version . ripple already downloaded 24gig of data. Do I have to abandon that ?and still ripple-nightly is required ?

MarkusTeufelberger commented 6 years ago

You had 0.90.0 20 hours ago? Or just now...?

kiahmed commented 6 years ago

i updated the version in the image few hours ago. What else I have to do to submit a tx from one acct to another? I dont wanna lose the data. It costs money to download all these data in the cloud

kiahmed commented 6 years ago

so, I was finally able to run in testnet and make a tx , but was never received by my testnode. tx status says destination address not found or something , it was created few minutes before making the tx. Here is the hash 83A859E91E5DB994577E2D1FB9B23A7A6CC1062CA979D29BC9CDABBC6F6C37C7 and receiving address r3AeoS4gedy7YY6icSL61wGMZfjwMoBV4y

How do I solve this issue?

wilsonianb commented 6 years ago

Hi @kiahmed The account r3AeoS4gedy7YY6icSL61wGMZfjwMoBV4y does not exist because it has not been sent the minimum required reserve amount of 20 XRP https://ripple.com/build/reserves/ The transaction you mentioned failed with tecNO_DST for this reason. (The transaction was sending 20 XPR not XRP)

kiahmed commented 6 years ago

well, now I get this error. whats wrong with the amount as it says?

{ "result": { "error": "invalidParams", "error_code": 31, "error_message": "Invalid field 'tx_json.Amount'.", "request": { "command": "submit", "fee_mult_max": 1000, "offline": false, "secret": "shYLXZ2cZHDX5ZVqauMfmEeiRFNXd", "tx_json": { "Account": "rBcqzVptDrcLvgrbTsbmejcGzD8GExfNR1", "Amount": { "currency": "XRP", "issuer": "rBcqzVptDrcLvgrbTsbmejcGzD8GExfNR1", "value": "20" }, "Destination": "r3AeoS4gedy7YY6icSL61wGMZfjwMoBV4y", "TransactionType": "Payment" } }, "status": "error" } }

scottschurr commented 6 years ago

Hi @kiahmed XRP is not denoted as a JSON object. It is denoted as a quoted decimal string in drops. As noted here: https://ripple.com/build/rippled-apis/#specifying-currency-amounts.

So to specify 20 XRP you'd use "Amount" : "20000000".