Show / Hide Table of Contents

getproof Method

Gets proof of the stored value according to the specified StateRoot, contract script hash, and the stored key.

Parameters

  • state_root: StateRoot of the block

  • script_hash: contract script hash

  • key: key of the storage. It should be converted into hex string

Examples

Example 1 - get the proof successfully

Request text:

{
    "jsonrpc": "2.0",
    "method": "getproof",
    "params": [ "0x3c7bc1222c597aa77d8bda9f5ab4a51066293d862e5ad3fdc8220ef03b1c7cee", "03febccf81ac85e3d795bc5cbd4e84e907812aa3", "5065746572"],
    "id": 15
}

Response text:

{
    "jsonrpc": "2.0",
    "id": 1,
    "result": {
        "success": true,
        "proof": "25a32a8107e9844ebd5cbc95d7e385ac81cfbcfe03506574657200000000000000000000000b06fd120200201ad8faf0f6ec14b33c149473a326563f9621cadf8d97761d981676691e57c46d203fc5d2c418290c91509758cb936555c54956ddc43718985de6c7553257b0f5be20cdd06215b353a72808c0dc410bc93925d5ddf2003d89e5d3d05d63d93e4718052007807c02e56040f6e3763bf960c2873d89abcfbf0cbbcb1d1bca3bc8a859d2852012a45c1e14390455159aeda6ef3d867de576a281339abe6196d5f7d2e7847a5d20fd4c9f8a68f1daef9340a72c97fa89404247928771cd74b3c71838f6834d420920449b92eab492e64f448e363cda6a0cbbbcade245fcdd8e1d75cf2c2748a9f28120d6fac89560b6d044b921deb6e358c3c9e82aafd964ad063f60cdf121c95bd40620b1972aa173c77affa7f7cfdfda31139ea0c0a24811b22f02669830d404ff60de203e4253032fcfb91e15b2df3c08c6159866ccbe825e17d8e081698cde32d66e3120b71fd9f60299167d4e68a0679a39158756d16949a0c6c55b625f76122e317cfd208eab222d6e389ea136918ea7beac1cea4e6a402d821f12a570cf2322eec7ea2820df0a07c1d61622b58be1d70df949c5c2d2297b67001fb48925624783dc79d0fa20557972e8d1a8b89a3a2e9a771425159538763a73705f8d0f800f0fcc708d4eac209ea2afa61df9063cc3b58d7c9da0bf4af472c6bd6fcf16a45ed831ce77b7f09120d37f794fb2114f1eade1ec20b8389fc9b94f8222bc6df37a9f6e1aed5a4a9cc700fd12020020b557ea145afae8181c69754221ddf8b30220598183a0c0896e47f767126f378020bc2a0d6af8542c75544a003f50c36540ba86ee363aa18584666827e9e86e429c20396d47241d20cfc7656db4dba51f6cee547c0b0c7a8a1f7102c1a5b52eaf276420e10c48205e90bc72dfce0a02f579d026643fd547bffc5e884060d5902870200c20737ba1b69831dc8c57ea5a25adcdd79c337f3a4399e6b8e6ec9c00006769d6fe2073e6a92365f1d3cabe0da5e6ad770cb3b1003db28f7a94866618f71a11ba29d920c7f0de739e949b2335be770b081d6d026aebb8eada8fc2932b9b0545bf9027b82039ba0e77c84fd6b98a59d7fea932b229b8d4d368c8e4b0c586f629295ec3a730204c275f06e28e2ad8e7e43fd45746ee1306c03a053af51319338f323c09c4cba2209375ae98a538d67ad80007506e3d7fd60c1cbdf542ee697c50b5b084602aa80f20aca394a3aa9da76b5fcd9481aacec9266d722a1a05f54e0d23300faf9eca5c8320ac52fe2f4c7bc22dee00481fab74e16aa5933b93f8a649cb47f40eb2e00bce39209de939ccfa620dacd58e3f0cad841989f20b55a18380e9730ac1d373e292f17c20982b4c7e20270a732a781b81dfa05836f1b61af1f4d3fe0ee418129df6bdd4142040e7ba4de506d4e2d03219324388d0021ee4fcff17a74ab31b966231cc15dffe20cf8e30e268a4b73c147e78bc7c54098fa5782e080596aa7a8c256a3aef81056600fd52010020e00ae9752fa1b5abcdc8b58de91c9221f5da0e0616d83370e6aa1ed4b90389ec20096258dbcfa90ae754f81a1de22865305b6cfd3937d182808b5a5db09829370b20998788a42bd63aefef9adac1dbd66c2ce8a5f74c0d9be7cc6b9b009bf2a6fbf90020e29732c6bdd3206316951ad928a039c0f6db5c5d14bfe3bd02c1352a176307c0209e7606b1202e5f025ac324f45dc5b6bd70d6981889be12df3782203d711183d22071f9ee1aa6c3078c1a31e863c110a597089eea1c9fed6dfd1dd5e8cbeb21b07a0020dc15c4abd5c2410daffe82f7b3979ad599a7a10baf40b86e50ccf9dde9c4f5d00000201a2b768e11fe501724f495655b5e0a82900232f303230d8cf2e0bb53e9db0f7c208353ac5c0d8aa04f9edb09501583fb5acebd1049af118502b9b9ab204fc073bd000020ec0ea9f69238c73bcaf5817e6ea3f0098b21736bd86cbe3d9b6d7fbb806d417e009200000020807e44a3033514bdaa26f82a38e7a3be46a2c35225888ffe56c5427b449fb4840000000000000020ce1893f1764a25660fe78b9244fc7ec6160c02e70ef798502020e02c1a050a440020c61970792908945356d071df61d044f5c8c59027012fa08edbe8776fae3d433d00002007584d51a5e740884ae162ab363c7be3c756dc660e65a5aaa568e3391ca305da00690146080100070e090804040e0b0d050c0b0c09050d070e0308050a0c08010c0f0b0c0f0e00030500060507040605070200000000000000000000000000000000000000000000000b2019dcc864977192e5bc39ec58d4f57aa07fbfb85b45cb83a78051d54860fa6e3108030600034c696e00"
    }
}
Example 2 - get the proof unsuccessfully

Request text:

{
  "jsonrpc": "2.0",
  "method": "getproof",
  "params": ["0x3c7bc1222c597aa77d8bda9f5ab4a51066293d862e5ad3fdc8220ef03b1c7cee", "03febccf81ac85e3d795bc5cbd4e84e907812aa3", "50657465"],
  "id": 1
}

Response text:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "success": false,
    "proof": "25a32a8107e9844ebd5cbc95d7e385ac81cfbcfe03506574650000000000000000000000000c04fd120200201ad8faf0f6ec14b33c149473a326563f9621cadf8d97761d981676691e57c46d203fc5d2c418290c91509758cb936555c54956ddc43718985de6c7553257b0f5be20cdd06215b353a72808c0dc410bc93925d5ddf2003d89e5d3d05d63d93e4718052007807c02e56040f6e3763bf960c2873d89abcfbf0cbbcb1d1bca3bc8a859d2852012a45c1e14390455159aeda6ef3d867de576a281339abe6196d5f7d2e7847a5d20fd4c9f8a68f1daef9340a72c97fa89404247928771cd74b3c71838f6834d420920449b92eab492e64f448e363cda6a0cbbbcade245fcdd8e1d75cf2c2748a9f28120d6fac89560b6d044b921deb6e358c3c9e82aafd964ad063f60cdf121c95bd40620b1972aa173c77affa7f7cfdfda31139ea0c0a24811b22f02669830d404ff60de203e4253032fcfb91e15b2df3c08c6159866ccbe825e17d8e081698cde32d66e3120b71fd9f60299167d4e68a0679a39158756d16949a0c6c55b625f76122e317cfd208eab222d6e389ea136918ea7beac1cea4e6a402d821f12a570cf2322eec7ea2820df0a07c1d61622b58be1d70df949c5c2d2297b67001fb48925624783dc79d0fa20557972e8d1a8b89a3a2e9a771425159538763a73705f8d0f800f0fcc708d4eac209ea2afa61df9063cc3b58d7c9da0bf4af472c6bd6fcf16a45ed831ce77b7f09120d37f794fb2114f1eade1ec20b8389fc9b94f8222bc6df37a9f6e1aed5a4a9cc700fd12020020b557ea145afae8181c69754221ddf8b30220598183a0c0896e47f767126f378020bc2a0d6af8542c75544a003f50c36540ba86ee363aa18584666827e9e86e429c20396d47241d20cfc7656db4dba51f6cee547c0b0c7a8a1f7102c1a5b52eaf276420e10c48205e90bc72dfce0a02f579d026643fd547bffc5e884060d5902870200c20737ba1b69831dc8c57ea5a25adcdd79c337f3a4399e6b8e6ec9c00006769d6fe2073e6a92365f1d3cabe0da5e6ad770cb3b1003db28f7a94866618f71a11ba29d920c7f0de739e949b2335be770b081d6d026aebb8eada8fc2932b9b0545bf9027b82039ba0e77c84fd6b98a59d7fea932b229b8d4d368c8e4b0c586f629295ec3a730204c275f06e28e2ad8e7e43fd45746ee1306c03a053af51319338f323c09c4cba2209375ae98a538d67ad80007506e3d7fd60c1cbdf542ee697c50b5b084602aa80f20aca394a3aa9da76b5fcd9481aacec9266d722a1a05f54e0d23300faf9eca5c8320ac52fe2f4c7bc22dee00481fab74e16aa5933b93f8a649cb47f40eb2e00bce39209de939ccfa620dacd58e3f0cad841989f20b55a18380e9730ac1d373e292f17c20982b4c7e20270a732a781b81dfa05836f1b61af1f4d3fe0ee418129df6bdd4142040e7ba4de506d4e2d03219324388d0021ee4fcff17a74ab31b966231cc15dffe20cf8e30e268a4b73c147e78bc7c54098fa5782e080596aa7a8c256a3aef81056600fd52010020e00ae9752fa1b5abcdc8b58de91c9221f5da0e0616d83370e6aa1ed4b90389ec20096258dbcfa90ae754f81a1de22865305b6cfd3937d182808b5a5db09829370b20998788a42bd63aefef9adac1dbd66c2ce8a5f74c0d9be7cc6b9b009bf2a6fbf90020e29732c6bdd3206316951ad928a039c0f6db5c5d14bfe3bd02c1352a176307c0209e7606b1202e5f025ac324f45dc5b6bd70d6981889be12df3782203d711183d22071f9ee1aa6c3078c1a31e863c110a597089eea1c9fed6dfd1dd5e8cbeb21b07a0020dc15c4abd5c2410daffe82f7b3979ad599a7a10baf40b86e50ccf9dde9c4f5d00000201a2b768e11fe501724f495655b5e0a82900232f303230d8cf2e0bb53e9db0f7c208353ac5c0d8aa04f9edb09501583fb5acebd1049af118502b9b9ab204fc073bd000020ec0ea9f69238c73bcaf5817e6ea3f0098b21736bd86cbe3d9b6d7fbb806d417e009200000020807e44a3033514bdaa26f82a38e7a3be46a2c35225888ffe56c5427b449fb4840000000000000020ce1893f1764a25660fe78b9244fc7ec6160c02e70ef798502020e02c1a050a440020c61970792908945356d071df61d044f5c8c59027012fa08edbe8776fae3d433d00002007584d51a5e740884ae162ab363c7be3c756dc660e65a5aaa568e3391ca305da00"
  }
}

Response description:

success : Its value is true or false, indicating whether or not the proof is obtained. With the proof you can get the key value of the specified StateRoot.