Reinstallation of MetaMask can be a solution, but I would suggest first to double check the function parameters: types and values you specify when encoding the function call
Another smaller pure function works flawlessly - itâs just this function but I am pretty sure the args (tuples and types) are correct. Do I need to specify more wei etc in the call? Contract Code works fine on truffle and remix
No, I donât think you need.
The example I came up with refers to a smart contract transaction that modifies the state.
The user needs to sign this transaction in order for the state to be modified.
A pure function does not modify the state, you only read the state, therefore there is no need to specify gas either, you just need to make a âcallâ to get the result from.
If you do it through moralis you can use ârunContractFunctionâ for read-only calls:
https://docs.moralis.io/moralis-server/web3-sdk/native
But you can also do it with the web3 object as well as shown here!
https://web3js.readthedocs.io/en/v1.2.4/web3-eth-contract.html#id25
myContract.methods.myMethod(123).call({from: '0xde0B295669a9FD93d5F28D9Ec85E40f4cb697BAe'}, function(error, result){
...
});
I reran in remix and found that Internal rpc can be sent for transactions that fail - on require. Ugh wallet connect doesnât pass the error message on react native. So I just need to ensure I am meeting my contracts requirements. Nothing wrong here
i am getting this error for yarn start , any help will be appreciated .
Starting the development serverâŚ
Error: error:0308010C:digital envelope routines::unsupported
at new Hash (node:internal/crypto/hash:67:19)
at Object.createHash (node:crypto:130:10)
at module.exports (C:\DEV\ethereum-boilerplate\node_modules\webpack\lib\util\createHash.js:135:53)
at NormalModule._initBuildHash (C:\DEV\ethereum-boilerplate\node_modules\webpack\lib\NormalModule.js:417:16)
at handleParseError (C:\DEV\ethereum-boilerplate\node_modules\webpack\lib\NormalModule.js:471:10)
at C:\DEV\ethereum-boilerplate\node_modules\webpack\lib\NormalModule.js:503:5
at C:\DEV\ethereum-boilerplate\node_modules\webpack\lib\NormalModule.js:358:12
at C:\DEV\ethereum-boilerplate\node_modules\loader-runner\lib\LoaderRunner.js:373:3
at iterateNormalLoaders (C:\DEV\ethereum-boilerplate\node_modules\loader-runner\lib\LoaderRunner.js:214:10)
at iterateNormalLoaders (C:\DEV\ethereum-boilerplate\node_modules\loader-runner\lib\LoaderRunner.js:221:10)
C:\DEV\ethereum-boilerplate\node_modules\react-scripts\scripts\start.js:19
throw err;
^
Error: error:0308010C:digital envelope routines::unsupported
at new Hash (node:internal/crypto/hash:67:19)
at Object.createHash (node:crypto:130:10)
at module.exports (C:\DEV\ethereum-boilerplate\node_modules\webpack\lib\util\createHash.js:135:53)
at NormalModule._initBuildHash (C:\DEV\ethereum-boilerplate\node_modules\webpack\lib\NormalModule.js:417:16)
at C:\DEV\ethereum-boilerplate\node_modules\webpack\lib\NormalModule.js:452:10
at C:\DEV\ethereum-boilerplate\node_modules\webpack\lib\NormalModule.js:323:13
at C:\DEV\ethereum-boilerplate\node_modules\loader-runner\lib\LoaderRunner.js:367:11
at C:\DEV\ethereum-boilerplate\node_modules\loader-runner\lib\LoaderRunner.js:233:18
at context.callback (C:\DEV\ethereum-boilerplate\node_modules\loader-runner\lib\LoaderRunner.js:111:13)
at C:\DEV\ethereum-boilerplate\node_modules\react-scripts\node_modules\babel-loader\lib\index.js:59:103 {
opensslErrorStack: [ âerror:03000086:digital envelope routines::initialization errorâ ],
library: âdigital envelope routinesâ,
reason: âunsupportedâ,
code: âERR_OSSL_EVP_UNSUPPORTEDâ
}
Node.js v17.2.0
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
PS C:\DEV\ethereum-boilerplate>
@BTCbullDOG if you have node v17 and and above, try downgrading to node v16.13.0. And also try to post this in Ethereum Boilerplate forum. Thanks!
For the WalletConnect problem there is an answer in this forum to fix it. In AndroidManifest file from android/app/src/main paste this
<queries>
<package android:name="io.metamask"/>
<package android:name="com.wallet.crypto.trustapp"/>
</queries>
inside it and it should work. Iâm using API version 32 of android emulator and it works perfectly.
Same here for the âERR_OSSL_EVP_UNSUPPORTEDâ error,
I found another solution, given in StackOverflow :
I added the following to node_modules\react-scripts\config\webpack.config.js
(i did at line 77âŚ)
const crypto = require("crypto");
const crypto_orig_createHash = crypto.createHash;
crypto.createHash = algorithm => crypto_orig_createHash(algorithm == "md4" ? "sha256" : algorithm);
and then âyarn startâ runs without problems
I did this it opens wallet and when I click back button nothing happens in the app!
Will the React Native Boilerplate be receiving moralis and react-moralis updated packages soon?
I have tried to update myself but anything above 0.0.99 for moralis package I cant get working.
Is it an idea to add this code solution permanent to the node_modules\react-scripts\config\webpack.config.js for the âERR_OSSL_EVP_UNSUPPORTEDâ error?
I want to add push notification for my mobile wallet. I am using moralis rest api, cloud functions and sync feature. I created a sync and watch contract events. I am watching for Transfer events with beforeConsume cloud function. But the log of the transactions is 1.5-2 hours behind. So i can not send real time push to wallets. How can i receive real time push notifications for my wallet transactions? I am using one signal for notification integration. Thank you in advance for your help and ideas.
Hey, I tried this react-native boilerplate its installing successfully
After installing on crypto login button click its opening browser and wallet connect page its going and stops there showing no page found
How to resolve this error?
can i have test token in RN moralis to test transfer ?
you can create a separate thread for this, you should not use beforeConsume, you should use a Nitro server (any new server is a nitro server), you can also add logging to see when that event happens
there shouldnât be a delay like that
you can also share the server url
I have use Moralis ethereum RN boilerplate when I try to transfer it rediredts me to metamask wallet but not doing anything like not opening confirm payment dialogue. can you please guide me
I can move all the content to create seperate thread if you mean to ask my question on another topic.
My server url: https://dgh8t1xlpfeh.usemoralis.com:2053/server
I do not know if my server is nitro. I understand that if i do not use beforeConsume and add logging to events then i can see the transfer events without delay.
Thanks its working can you please tell me how to send erc20 tokens
this is a nitro server, because it has coreservices plugin
you can try to use afterSave
Thank you for the response, I just updated my server instance to nitro. I tried with afterSave and i received erc20 real time events. I have one more and last question. Is there any way to receive native token events through moralis? Because i can not add contract abi on sync feature.
Thank you.