Comments (10)
Having the same issue on Moonbeam
from fortune.
@kaseLunt @foufrix Do you see anything in the logs on the oracles?
from fortune.
Hey guys! Fortune is not multichain right now and can be configured via environment variables(backends). There are 2 ways of doing this:
- You deploy fortune to some free hosting(like heroku) for a particular blockchain(Moonbeam for example)
- Or we will add the multichain support and deploy it to some test network
- After proper contracts testing we will deploy fortune to the existing setup with some testnet
Personally I don't think that we need a multichain right now. New chain = new instance is the best way right now
from fortune.
- Agreed, no reason to change the source.
- It would be good to see a video and for you to share the environment variables. You can do this by forking the repo, and we will add a link in documentation to your fork
- Vlad provides a good example of using a free services like heroku. This will make the environment variables more clear
from fortune.
It's a bit complicated to deploy on heroku because they allow only one port, so it's always a different link and instance need to be deployed one by one, I'm not even sure it would work as reputation and recording oracles would not be on the same instance.
Anyway by running everything locally and changing constants.js
to use contract on Polygon Mumbai and USDC for the moment, I manage to :
- launch app and create escrow interacting with contract on Mumbai
- Fund contract with USDC and provide manifest.json using only localhost
- Launching the exchange, trying to send Fortune Message over Polygon Mumbai, I get the same error as what I had when interacting with the AWS instance :
But this time I have the backend logs :
After some search on this error, it can be cause by a wrong ABI.
I launched the exchange without docker to debug, and I see that there is an error when setting up the main escrow here :
const setMainEscrow = async (address) => {
setEscrow(address);
console.log("address: ", address);
const Escrow = new web3.eth.Contract(EscrowABI, address);
console.log("1");
const escrowSt = await Escrow.methods.status().call();
console.log("2");
setEscrowStatus(statusesMap[escrowSt]);
const balance = await Escrow.methods.getBalance().call();
setBalance(web3.utils.fromWei(balance, "ether"));
console.log("3");
const manifestUrl = await Escrow.methods.manifestUrl().call();
if (manifestUrl) {
const manifestContent = (await axios.get(manifestUrl)).data;
setRecordingOracleUrl(manifestContent.recording_oracle_url);
}
};
And the logs on the frontend :
We see that the function crash directly at Escrow.methods.status().call()
Do you have any idea what need to be changed in /contracts/EscrowAbi.json
to work with Polygon contract ?
from fortune.
Hey @foufrix . Let's replace the Escrow ABI with this implementation - https://github.com/humanprotocol/hmt-escrow/pull/295/files
It supports the standard ERC20 interface without bulk* methods
from fortune.
Hi, @vkomodey thanks for the help,
I deployed the contract of your branch polygon-escrow-bulk here: https://mumbai.polygonscan.com/address/0x5D65C42cF4a140863744889BAd07f246C0211754
I tried again, creating an Escrow and redoing everything, I still got the same error on the call of the oracle :
Front
Is it my guess there may be a mismatch of networks?
Because the from : 0x61f9f0b31eacb420553da8bcc59dc617279731ac
it's the oracle on local ganache and to : 0x4f7106aac91ca6d1e6fef1d6f114baeb7643cdf8
is the Escrow created on Polygon Mumbai
Can a local call from the oracle on ganache to the polygon network work? And maybe the code of the oracle is trying to reach the contract 0x4f7106aac91ca6d1e6fef1d6f114baeb7643cdf8 on ganache instead on polygon
from fortune.
Because the from : 0x61f9f0b31eacb420553da8bcc59dc617279731ac it's the oracle on local ganache and to : 0x4f7106aac91ca6d1e6fef1d6f114baeb7643cdf8 is the Escrow created on Polygon Mumbai
Are you trying this on the deployed playground? I mean, we definitely can't use current oracles deployed in the ganache setup
Can a local call from the oracle on ganache to the polygon network work?
Definitely not. Let me check this tomorrow
from fortune.
Are you trying this on the deployed playground? I mean, we definitely can't use current oracles deployed in the ganache setup
It's not on the AWS deployed ganache, but on a local ganache instance on my computer
I thought we could, I asked on the discord about that and it did not seem to be an issue.
So I need to deploy oracle as well on the polygon Mumbai network? But there is no .sol contract in reputation/recording-oracle
from fortune.
So I need to deploy oracle as well on the polygon Mumbai network?
Oracle is not a contract. It's EOA. You don't have to deploy anything here
from fortune.
Related Issues (19)
- Have reputation oracle assure each fortune is unique HOT 1
- Create running instance for demo purposes HOT 1
- Add validation phase HOT 4
- Refactoring UIs and oracles
- Batch processing HOT 1
- Add architecture document HOT 7
- Data Privacy Replaced by hmt-escrow#389 HOT 1
- E2E backend tests
- Fortune app not working locally HOT 7
- Instead of copying and pasting contracts move to a dependency HOT 1
- Making Fortune App work with another Network (Polygon here) HOT 14
- [Bug]: Cannot create an Escrow contract for the deployed playground version HOT 4
- Make minio bucket public by default HOT 2
- Redeploy playground to testnet HOT 3
- Metamask transaction comfirmation doesn't want to pass[Bug]: HOT 10
- [Bug]: Manifest file is absent when deploying the local testnet version HOT 1
- Set Minio bucket public automatically
- Fortune recording oracle store intermediate results HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fortune.