EOSIO / eosjs

General purpose library for the EOSIO blockchain.
http://eosio.github.io/eosjs
MIT License
1.43k stars 463 forks source link

Deal contract error #123

Closed healthwallet closed 6 years ago

healthwallet commented 6 years ago

write-api.js?ff8f:688 Error: missing required keys for {"expiration":"2018-05-27T15:24:23","ref_block_num":2356,"ref_block_prefix":540228507,"net_usage_words":0,"max_cpu_usage_ms":0,"delay_sec":0,"context_free_actions":[],"actions":[{"account":"liontable","name":"dealacceos","authorization":[],"data":"010000000000000003616331036163320361633304000000"}],"transaction_extensions":[]} at eval (index.js?ad58:295) (anonymous) @ write-api.js?ff8f:688 Promise.catch (async) _callee2$ @ write-api.js?ff8f:687 tryCatch @ runtime.js?ce45:65 invoke @ runtime.js?ce45:303 prototype.(anonymous function) @ runtime.js?ce45:117 tryCatch @ runtime.js?ce45:65 invoke @ runtime.js?ce45:155 (anonymous) @ runtime.js?ce45:165 Promise.then (async) invoke @ runtime.js?ce45:164 (anonymous) @ runtime.js?ce45:202 callInvokeWithMethodAndArg @ runtime.js?ce45:201 enqueue @ runtime.js?ce45:224 prototype.(anonymous function) @ runtime.js?ce45:117 runtime.async @ runtime.js?ce45:248 _callee2 @ write-api.js?ff8f:593 (anonymous) @ write-api.js?ff8f:777 (anonymous) @ exported-helpers.js?f7c9:69 (anonymous) @ exported-helpers.js?f7c9:79 callback @ process-args.js?8db6:70 callback @ apigen.js?f08d:99 (anonymous) @ apigen.js?f08d:126 Promise.then (async) (anonymous) @ apigen.js?f08d:121 (anonymous) @ exported-helpers.js?f7c9:55 (anonymous) @ exported-helpers.js?f7c9:79 callback @ process-args.js?8db6:70 callback @ apigen.js?f08d:99 (anonymous) @ apigen.js?f08d:126 Promise.then (async) (anonymous) @ apigen.js?f08d:121 createTransaction @ exported-helpers.js?f7c9:48 api.(anonymous function) @ apigen.js?f08d:46 transaction @ write-api.js?ff8f:591 (anonymous) @ write-api.js?ff8f:535 Promise.then (async) (anonymous) @ write-api.js?ff8f:503 Promise.then (async) trMessageCollector @ write-api.js?ff8f:502 _callee$ @ write-api.js?ff8f:286 tryCatch @ runtime.js?ce45:65 invoke @ runtime.js?ce45:303 prototype.(anonymous function) @ runtime.js?ce45:117 tryCatch @ runtime.js?ce45:65 invoke @ runtime.js?ce45:155 (anonymous) @ runtime.js?ce45:202 callInvokeWithMethodAndArg @ runtime.js?ce45:201 enqueue @ runtime.js?ce45:224 prototype.(anonymous function) @ runtime.js?ce45:117 runtime.async @ runtime.js?ce45:248 _callee @ write-api.js?ff8f:101 (anonymous) @ HelloWorld.vue?18db:188 Promise.then (async) dealtable @ HelloWorld.vue?18db:185 click @ HelloWorld.vue?e25d:550 invoker @ vue.esm.js?efeb:2027 fn._withTask.fn._withTask @ vue.esm.js?efeb:1826 index.js?ad58:118 Error: missing required keys for {"expiration":"2018-05-27T15:24:23","ref_block_num":2356,"ref_block_prefix":540228507,"net_usage_words":0,"max_cpu_usage_ms":0,"delay_sec":0,"context_free_actions":[],"actions":[{"account":"liontable","name":"dealacceos","authorization":[],"data":"010000000000000003616331036163320361633304000000"}],"transaction_extensions":[]} at eval (index.js?ad58:295) (anonymous) @ index.js?ad58:118 callback @ write-api.js?ff8f:571 (anonymous) @ write-api.js?ff8f:689 Promise.catch (async) _callee2$ @ write-api.js?ff8f:687 tryCatch @ runtime.js?ce45:65 invoke @ runtime.js?ce45:303 prototype.(anonymous function) @ runtime.js?ce45:117 tryCatch @ runtime.js?ce45:65 invoke @ runtime.js?ce45:155 (anonymous) @ runtime.js?ce45:165 Promise.then (async) invoke @ runtime.js?ce45:164 (anonymous) @ runtime.js?ce45:202 callInvokeWithMethodAndArg @ runtime.js?ce45:201 enqueue @ runtime.js?ce45:224 prototype.(anonymous function) @ runtime.js?ce45:117 runtime.async @ runtime.js?ce45:248 _callee2 @ write-api.js?ff8f:593 (anonymous) @ write-api.js?ff8f:777 (anonymous) @ exported-helpers.js?f7c9:69 (anonymous) @ exported-helpers.js?f7c9:79 callback @ process-args.js?8db6:70 callback @ apigen.js?f08d:99 (anonymous) @ apigen.js?f08d:126 Promise.then (async) (anonymous) @ apigen.js?f08d:121 (anonymous) @ exported-helpers.js?f7c9:55 (anonymous) @ exported-helpers.js?f7c9:79 callback @ process-args.js?8db6:70 callback @ apigen.js?f08d:99 (anonymous) @ apigen.js?f08d:126 Promise.then (async) (anonymous) @ apigen.js?f08d:121 createTransaction @ exported-helpers.js?f7c9:48 api.(anonymous function) @ apigen.js?f08d:46 transaction @ write-api.js?ff8f:591 (anonymous) @ write-api.js?ff8f:535 Promise.then (async) (anonymous) @ write-api.js?ff8f:503 Promise.then (async) trMessageCollector @ write-api.js?ff8f:502 _callee$ @ write-api.js?ff8f:286 tryCatch @ runtime.js?ce45:65 invoke @ runtime.js?ce45:303 prototype.(anonymous function) @ runtime.js?ce45:117 tryCatch @ runtime.js?ce45:65 invoke @ runtime.js?ce45:155 (anonymous) @ runtime.js?ce45:202 callInvokeWithMethodAndArg @ runtime.js?ce45:201 enqueue @ runtime.js?ce45:224 prototype.(anonymous function) @ runtime.js?ce45:117 runtime.async @ runtime.js?ce45:248 _callee @ write-api.js?ff8f:101 (anonymous) @ HelloWorld.vue?18db:188 Promise.then (async) dealtable @ HelloWorld.vue?18db:185 click @ HelloWorld.vue?e25d:550 invoker @ vue.esm.js?efeb:2027 fn._withTask.fn._withTask @ vue.esm.js?efeb:1826 index.js?ad58:295 Uncaught (in promise) Error: missing required keys for {"expiration":"2018-05-27T15:24:23","ref_block_num":2356,"ref_block_prefix":540228507,"net_usage_words":0,"max_cpu_usage_ms":0,"delay_sec":0,"context_free_actions":[],"actions":[{"account":"liontable","name":"dealacceos","authorization":[],"data":"010000000000000003616331036163320361633304000000"}],"transaction_extensions":[]} at eval (index.js?ad58:295) (anonymous) @ index.js?ad58:295 Promise.then (async) (anonymous) @ HelloWorld.vue?18db:191 Promise.then (async) dealtable @ HelloWorld.vue?18db:185 click @ HelloWorld.vue?e25d:550 invoker @ vue.esm.js?efeb:2027 fn._withTask.fn._withTask @ vue.esm.js?efeb:1826

but the same action can deal well by cloes command .

jcalfee commented 6 years ago

This could be a version miss-match, the way the transactions were hashed and signed changed. If the binary is not exactly right it will not find the key it believes is correct and needs to sign with. There is a version table at the top of the README..

healthwallet commented 6 years ago

eos version 4.0,4.1,4.2 i test all ,eosjs v13.0.0,v11* i also test. i always reference version table ,i call the eosio.token contract is well,but i call my owner contract is wrong .

jcalfee commented 6 years ago

Ok, so you can transfer for example? If so, can you tell me which types your using in "dealacceos" in the ABI.. Are the permissions custom or standard?

healthwallet commented 6 years ago

it cant call well like this : this.$gobal.eos.transaction({ actions: [ { account: 'liontable', name: 'dealacceos', authorization: [{ actor: 'liontable', permission: 'active' }], data: { ID:10, loginID:"ac1", loginName:"ac2", eosAcc:"ac3", memberType:4

          }
        }
      ]
    }).then(function (val) {
      console.log(val);
    })