view method in a smart contract changed to weird strings unintentionally - blockchain

Hi I deployed a smart contract on Mumbai testnet and one of view methods in the contract suddenly stopped working as its name (or at least displayed) got weird like this.
cuº?TÔÿŇÃØ" #ra]„àU½{kYeCÀv`±m^‹c!ÀßedÌ+±'H¿%›©FIRST BLOCKCHAIN NOVEL
It was working fine yesterday when I deployed but today it stopped working so I checked the contract and found the above.
Deployed contract is here
Does anyone know what happened?
Could I fix it without deploying again?
In the front end app, I get this error.
Uncaught (in promise) Error: call revert exception [ See: https://links.ethers.org/v5-errors-CALL_EXCEPTION ] (method="getAllNovels()", data="0x", errorArgs=null, errorName=null, errorSignature=null, reason=null, code=CALL_EXCEPTION, version=abi/5.6.4)
[update]
I deployed again and same thing happened...
contract is here
[console error]

Related

Why contract event data is undefined on a testnet but not in a local node?

I've created the following Solidity contract that emits an event:
And in my front-end JS code I'm using ethers.js and reading the data from the event with event.args[2] (line 76):
When I use a Hardhat local node the event.args[2] has what I'm expecting.
However event.args is undefined when I use the contract deployed on a Polygon Mumbai testnet node with Alchemy.com.
I appreciate any help or guidance with this error I'm facing, let me know if I should share any other info.
Cheers.

MetaMask RPC error? 'MetaMask - RPC Error: Internal JSON-RPC error.'

I'm developing the front-end to an application that I'm trying to test. However, MetaMask keeps giving me this error? I tried changing the gas limit like previously suggested and nothing. Any ideas?
Error:
MetaMask - RPC Error: Internal JSON-RPC error.
code: -32603
data: {code: -32000, message: "gas required exceeds allowance (30000000) or always failing transaction"}
message: "Internal JSON-RPC error."
Without seeing the code, it's hard to say for sure but you could try:
Check any code you changed in the front end, specifically in your code you may have something like this:
const contractInstance = new state.web3.eth.Contract(
MyContract.abi,
"0x.....", // contract address
{
from: state.accounts[0],
gasPrice: 1000,
gas: 100000
}
);
Make sure the gas prices are similar to those, you may have to adjust for your case.
Re-compile and redeploy --> for truffle, run truffle develop first, then compile then migrate --reset for local deployment.
In Metamask, reset your test account. Metamask > Select Account > Settings > Advanced > Reset account. Only do this for testing accounts
Previously it used to happen in older versions due to a gas specification issue which was fixed. rpcErrors.internal` expects a string as the first argument, with arbitrary data being the optional second argument. Passing in a non-
string first argument results in the error being shadowed by an error
from eth-json-rpc-errors.
Please check what you are passing to Metamask.
In my case, after trying so many options I have restarted Ganache and re-imported new account from Ganache to Metamask.
I connected this new account with localhost application.
This resoles my issue.
Before performing any transaction the sending ETH address must be connected to your own site or UI. So it can get the address of sending account and goes towards the further transaction in the metamask.
Make sure Your sending account address must be connected to your UI.

failed to instantiating chaincode in IBM Blockchain Platform

Basically, I am following this
https://cloud.ibm.com/docs/services/blockchain/howto?topic=blockchain-ibp-console-smart-contracts#ibp-console-smart-contracts-connect-to-SDK
to deploy a smart contract from my local network to IBM Blockchain Platform. Everything went smoothly until step four. I got an error indicating that something is wrong with my container.
I googled for a while and the most promising answer inferring that there might be some problems on web docker.
Here is the description for the error:
An error occurred during instantiation.
grpc payload is empty: error starting container: error starting container: Post http://localhost:2375/build?t=dev-jdoe-papercontract-0.0.4-c9f772dd033af7a0d2fa0b7aafb268a2f2d8045143cb4344d3356fbe72999ee0: Failed to generate platform-specific docker build: Failed to pull ibmblockchain/fabric-javaenv:amd64-v1.4.1: API error (404): pull access denied for ibmblockchain/fabric-javaenv, repository does not exist or may require 'docker login'
This is what it looks like on my screen:
It would be rather helpful if someone can tell me how to fix it. Thanks a lot in advance.
a little update: I tried to use JS instead of Java to write the smart contract, the same error popped out during the instantiating step.

Webhook call failed: URL_REJECTED error in DialogFlow v2 Fulfillments

Error description
Upon calling DialogFlow v2 detectIntent API, we randomly get an internal error with status code 13:
Webhook call failed. Fetch failure with no HTTP status code. Status: State: URL_REJECTED Reason: 67
This error seems to happen randomly. The same request can succeed or fail.
Interesting point, the service has been deteriorating since Friday 23th August 2019, to fail on almost every call today.
Our investigation
We didn't find anything at all about URL_REJECTED with DialogFlow or Google on internet.
But we found the meaning of the status code 13 on this page:
Internal errors. This means that some invariants expected by the underlying system have been broken. This error code is reserved for serious errors.
We also checked that we aren't banning Google IP, our that our load-balancing is not messed up (we thought of that since it would make sense with random fails).
The webhook is up and running, and we can call it ourselves. The problem seems to happen in Google's infra, as the error code 13 seems to show.
(I answer immediatly because we fixed it before posting the question. But I posted nevertheless because it may be useful for others)
The problem was that the webhook was called using http.
Setting https solved the problem.
It seems that Google activated a webhook policy of rejecting unsecure calls in their servers.
It may have been deployed gradually on their cluster, which would explain the gradual degradation.
We know that we should have migrated to https a long time ago, but still we didn't find any mention of the application of this policy on the net.
Thank you for posting this. I came across the same issue. Changed my webhook to HTTPS seems to fix the problem.

Unable to deploy contract in quorum(truffle)

was working with deploying contracts using truffle(truffle migrate) for manually created nodes as per "https://docs.goquorum.com/en/latest/Getting%20Started/Getting-Started-From-Scratch/" (using raft-consensus) . I am able to add peer(other machine) and create network, but when i was deploying using truffle i am gettong the following errorError encountered, bailing. Network state unknown. Review successful transactions manually.
Error: Error: Error: Returned error: authentication needed: password or unlock
at Object.run (/usr/lib/node_modules/truffle/build/webpack:/packages/truffle-migrate/index.js:92:1)
at processTicksAndRejections (internal/process/task_queues.js:86:5
This is a duplicate of your question posted on Slack. I suggest avoiding multiple postings to avoid duplication of effort. For reference, here is the link to the Slack conversation:
https://go-quorum.slack.com/archives/C68NY0QQZ/p1562682519077000
(it may require Slack membership to view it).