Skip to content
This repository has been archived by the owner on Aug 2, 2022. It is now read-only.

Contract transaction cannot be found after i get result of pushSignedTransaction. #8630

Closed
lansehuiyi6 opened this issue Feb 12, 2020 · 3 comments
Labels

Comments

@lansehuiyi6
Copy link

lansehuiyi6 commented Feb 12, 2020

Hi, i've send a contract trans on mainnet, and i've tried for 4 times, every time i get a trans result, but all of them seemed been drop, i cannot find them on explorer or on chain, can any one help to explain this?
And i send to the NO 1 BP node, huobi.

{ transaction_id: '8539aa984de2c9fb0e6387dc2e2633503c1875a83ca034c66b3bed329bd3d6fb', processed: { id: '8539aa984de2c9fb0e6387dc2e2633503c1875a83ca034c66b3bed329bd3d6fb',block_num: 104699332,block_time: '2020-02-12T01:39:25.500', producer_block_id: null,receipt: { status: 'executed', cpu_usage_us: 26133, net_usage_words: 65 }, elapsed: 26133, net_usage: 520, scheduled: false,#12 action_traces: [ [Object] ],account_ram_delta: null, except: null, error_code: null } }

@lansehuiyi6
Copy link
Author

We have deployed one contract 'schnorrcheck', (on mainnet and testnet), to verify the signature of schnorr. And the contract code can be found from follow link: https://github.com/wanchain/wanchain-crosschain-contracts/tree/eos-wan-cross/eos-wan-cross/c%2B%2B/schnorr.verification . After plenty of tests, we found that, with the same code, the signature veriy transaction on testnet can be broadcasted and on chain at last, while the same signature verify transaction would be dropped at mainnet, and we send the trans directly to the BP node. Through debug, we found that the problem maybe related to scalar multiplication,the scalar multiplication in elliptic curves is the basic to elliptic curve cryptosystem, every contract trans included scalar multiplicatin would be dropped by the mainnet.

Contract Account: schnorrcheck
Signature test trans: cleos -u https://api.helloeos.com.cn push action schnorrcheck verify '["aaronmainnet", "042910f66047417843cf7a842139dac3c35ac40972fd3c85f5ec19bbf596cdbd6d728b222484fd43ccd33aa7664d5e0a15133186cb3afeca0e78f5271ca841e0ff", "569120a5482e22631ed1d072a6e641b207268741a5d0aef36393e6da2ce6239e", "042c672cbf9858cd77e33f7a1660027e549873ce25caffd877f955b5158a50778f7c852bbab6bd76eb83cac51132ccdbb5e6747ef6732abbb2135ed0da1c341619", "YmNjY2Y=", "inredeem"]' -p aaronmainnet

The contract account is same at mainnet and testnet, both of them are schnorrcheck, if you want to test the contract, just send a trans which replaced 'aaronmainnet' with your own account.

@taokayan
Copy link
Contributor

Do you have enough CPU staking for your account on EOS mainnet? Have you deployed the correct contract? from https://bloks.io/account/aaronmainnet looks like account aaronmainnet only has around 12.89 ms CPU resource but your transaction usage is around cpu_usage_us: 26133

@lansehuiyi6
Copy link
Author

Do you have enough CPU staking for your account on EOS mainnet? Have you deployed the correct contract? from https://bloks.io/account/aaronmainnet looks like account aaronmainnet only has around 12.89 ms CPU resource but your transaction usage is around cpu_usage_us: 26133

yes, i tried with enough cpu resource, still the same.
Seemed on mainnet, contract is not fit for complex calculation.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

3 participants