# MobyMask meet with Dan
## Public, Laconic hosted
* On behalf of Cerc, 20c is hosting a running instance of the `mainnet-watcher` branch on the device *warren* at https://mobymask.vdb.to/graphql
* This endpoint is meant for light use, development, and demonstration; it will not scale with the application. The current capacity is **TBD**
* The endpoint works in conjunction with the changes in https://github.com/danfinlay/MobyMask/pull/3
## Public, MobyMask hosted
* MobyMask replicates the setup above, hosting their own endpoint.
## Self-hosting, Locally hosted
* Run the `mainnet` branch
* Requires a leveldb from a snap-synced geth instance.
## Demo, Locally hosted
* Run the `main` branch
* Follow directions in `demo/README.md`
## Todo
- [ ] Dan should merge pull #3
- [ ] Deepstack should merge these branches, so that different hosting options are directories rather than branches. https://github.com/vulcanize/mobymask-watcher/issues/17
## Points to Raise
- [x] When discussing redeploying, clarify that this is a new contract on Ethereum, re: https://laconicnetwork.slack.com/archives/C03N7HM9S80/p1658849556782679?thread_ts=1658843981.054929&cid=C03N7HM9S80
>Wow, this is exciting. I’m starting to think that since V1 doesn’t have the counterfactual caching, maybe I should re-deploy to a cheaper chain so our contributors are more likely to report. Would it be easy to re-deploy for a new contract instance?
- Meant a chain other than mainnet Ethereum, specifically mentioned Polygon, maybe testnets
- Watcher can pull state from multiple contracts, multiple chains
- [x] Generate more data to test against
- Can talk to fishfort, use extant lists, need to prime the pump.
- [x] Next steps/Additional features:
- Release 1: Efficient caching of the on-chain registry (DONE)
- Release 2: Start exploring the counterfactual caching & gossiping
- `getslice` implementation.
## References
* https://github.com/vulcanize/watcher-ts/issues/127
* https://github.com/LaconicNetwork/laconic-discussions/issues/34
# Notes
Intros
Dan (english major, built metamask): people are getting phished and we want to put a stop to it. Most contracts are not built with granular permissions, leading everyone to give all permissions.
Rick: we can implement mustakala (sp?) - getslice (Ian can implement in a week)
Dan: Walletguard would be likely to host.
Some priorities for Dan:
* Cheaper chain (really cheaper costs)
* Easy self-hosting
* Counterfactuals (in the future)
Rick: There is a tension between cheaper chains and self hosting (the fees are cheaper, but the self hosting is more expensive).
Erik: We discuss polygon, but I believe we land on sticking with Ethereum mainnet for the contract.
Scaling - The watcher itself provides all the blocks.
Dan describes loading all the tx on a personal fork version of the chain (ganache), that locally should be a representation of the phisher registry.
Rick counters that this is what we store in the watcher, and you would set up counterfactuals as a graphql query.
Dan: do we reprocess the claims? Some branch of our state doesn't match the mainnet, but there is a way to keep the parallel states in memory and work through them.
Rick: on chain isphisher and ismember, queryable through graphql. Watcher recieves p2p that an entity is engaged in phishing. We probably want 3 watchers:
* A watcher watching mainnet
* Another watching p2p gossip
* A third merging the two
Dan: if the counterfactual side works well, we could mitigate our pushes to mainnet and keep costs down.
Marketing Contact: Dan will bring in to the laconic-metamask chat.
Laconic is discussed at length.
Rick - are you still talking to Robert Drost? He was interested in our product early on.
Dan - yes, still good relationship.
FAR FUTURE WORK
https://roamresearch.com/#/app/capabul/page/ljg2ydd_T
## Next Steps
- [ ] Dan will put PR people in the `laconic-metamask` slack channel
- [ ] Also will add Walletguard to the channel
- [ ] Also will add Robert Drost to the channel
- [ ] Dan will merge PR and give code a spin
- [ ] We will clean up the branches and provide support