FOAM Map User Guide for the Ethereum Mainnet

A step-by-step guide for Cartographers that will contribute to building a consensus driven map of the world

Ryan John King
FOAM

--

As of September 6th, 2018 the FOAM Map will be deployed on the Ethereum MainNet. This release is accessible only to existing token holders who purchased tokens during our token sale. As part of the purchase requirements in the sale, purchasers need to perform Proof of Use by placing at least 10 points of interest on the FOAM Map. This Proof of Use is enforced automatically by a smart contract, before the transferability of their FOAM Tokens is enabled. This post provides information and a step-by-step guide to lead you through the process and the launch functionality of the map.

As part of the purchase requirements in the sale, purchasers need to perform Proof of Use by placing points of interest on the FOAM Map.

As part of our drive to ensure FOAM Tokens are used as intended by purchasers, there will also be an Initial Use Period (i.e. 45 days) where FOAM Tokens are usable, but not transferable outside of the FOAM protocol. This period is anticipated to end on October 22nd 2018. This Initial Use Period is to ensure users participate, gain a deep familiarity with the FOAM protocol by engaging with the interface and work flow, and use FOAM Tokens as intended. If you do not fulfill Proof of Use during the initial use period you will still need to in order to transfer tokens. Additionally, we anticipate front end bugs and glitches that will be addressed during the initial use period as we continue to facilitate and refine the features of the interface.

What is the FOAM Map?

The FOAM Map is a Token Curated Registry, which is a fancy way of saying that Cartographers use FOAM tokens to sort the good places from the less so good places. This way, the FOAM Map can be fully decentralized, harnessing collective intelligence without a central authority to distribute value back to the participants who create it.

FOAM Map on the Ethereum Mainnet

TCRs change the way we sort and classify information and alter how the value of information is shared but allowing for new forms of collaboration. This is made possible by smart contracts that enable automated transactions that are secure without a trusted third party. What makes the FOAM Map different from other maps, is that curation is weighted by something that has value, where actions require “skin in the game”, unlike in the curation of content through likes or upvotes. This way the map carries more weight and is more difficult to manipulate and falsify since making alterations requires tokens to be staked.

The FOAM token is used in all parts of the FOAM Map, and grants control over the registries of points of interest (POIs) to market and community forces. FOAM is the successor to the work of cartographers throughout history that maintained geographic data about everything from topography to dense urban streets. On the FOAM Map, people curate points of interest using Tokens. Anyone can add locations, validate new entries and are encouraged verify and cross reference the map by visiting the locations in the physical world. The FOAM Map unlocks mapping in a secure and permissionless ways by allowing locations to be ranked and maintained by token balances. Participants stake FOAM tokens to locations on the map to increase the attention they receive.

Getting Started

The FOAM Map can be interacted with by using the Metamask wallet on a desktop browser such as Google Chrome, Firefox or Brave. (Note: If you did not purchase FOAM tokens with a Metamask wallet see the end of this guide for directions on Pairing a Metamask account to your account). For FOAM tokens to be viewable from within Metamask the FOAM token contract must be added, guide here.

Once FOAM tokens are in your Metamask wallet the first step is to pre-approve tokens for use within the TCR.

Adding and approving your FOAM tokens to the ‘My Assets’ card on FOAM Map

The My Assets card is in the dashboard that tracks your activity in the FOAM Map. Here you can approve FOAM tokens to use for adding points of interest. Make sure to check that your FOAM Tokens are added to your Metamask account and pre-approve tokens for use within the map. Approved FOAM Tokens are tokens pre-approved by the smart contract to add and challenge POIs. Voting Credit are tokens pre-approved by the voting smart contract used to cast votes and verify challenged POIs.

Pre-approve FOAM tokens on the asset card to get started

The FOAM Map uses multiple smart contracts to enable a decentralized map without a central authority or single point of failure. Approved FOAM and Voting Credit allow for your wallet to transfer to two different smart contracts. Doing this in advance helps to avoid more expensive gas and allows for fewer MetaMask confirmations and fewer chances that something can go wrong. Approving FOAM tokens will take two Metamask transactions, once for approving tokens for use in the registry contract and one for the voting contract.

We recommend testing with smaller amounts before staking the full amount needed for proof of use.

What do the different colors of points mean?

On the FOAM Map, you will see icons in three main colors. This tells you the status of different points of interests (POIs) as you move around the map.

- Blue is ‘pending’ which shows that a POI is a candidate has not yet been verified.
- Red is ‘challenged’ which show that a POI has been challenged and currently can be voted on
- Green means the point is ‘verified’

A Note on ‘Update Status’

At the end of each period of a TCR lifecycle, for example the end of the voting period, the end of the vote reveal period etc. the status of the point will need to be manually updated to see the new status of a point. For example, at the end of a challenge period if the point successfully was added to the registry the status of the point will need to be updated by making a call to the contract on the blockchain, prompting a Metamask transaction. Once one user updates the status of a point it will be updated for all users of the Map.

Adding your First Point of Interest

The following describes how to add a new point to the map as a potential candidate:

1. Go to the map view and make sure you’re signed into your MetaMask wallet.
2. Click anywhere on the map to bring up the ‘Register Point of Interest’ card.
3. Enter the details required: name, street address, description, and the relevant tags that describe the POI.
4. Stake Approved FOAM tokens to register the new POI. Currently the minimum is set to 50 but there is no limit. The stake is like a security deposit that helps make sure people only enter true information.

5. If you don’t have enough Approved FOAM, go to the My Assets card and under Approve FOAM Tokens you can approve more to use for adding and challenging POIs.
6. Click ‘Register POI’ when you’ve finished entering all the information about the location.
7. Confirm the registration on MetaMask. This brings up a MetaMask confirmation window for a new transaction. You need to approve the transfer of the FOAM tokens staked to the new POI.
8. That’s it! It may take a few minutes for the new POI to appear on FOAM Map and in My Assets. This depends on how busy the Ethereum network is when you submit. You can track the status of your transaction by clicking it from within Metamask which will bring you to https://etherscan.io/

If your candidate point is not challenged it will be added to the registry and turn from blue to green.

Note: FOAM Map relies on skin in the game economics and your point is susceptible to being challenged and tokens are at risk of being lost. TCR’s are very new and FOAM is the second to ever launch. Do not stake more than you would be comfortable being challenged for. See the Signaling section below for additional ways to fulfill token usage for Proof of Use without tokens being at risk of being challenged.

Challenging a Point

When should a point be challenged?

Any pending or verified point can be challenged

Challenge a point of interest (POI) when you notice errors or incorrect information to start the process that removes it from the map. You receive a reward if the cartographers agree and vote to remove the point. This could be anything from a wrong address, to a closed business, to something that doesn’t exist at all. Since anyone can add locations to the map, there needs to be a way to sort true information from false information. Any FOAM token holder can take part in a challenge and you can always challenge a POI that has been verified previously.

When challenging a point a reason must be provided

To start a challenge you need to stake tokens against the point that is equal to the minimum deposit and up to the amount staked in the point over the minimum deposit. Challenging enables any FOAM token holder to vote on the validity of the POI. The Challenger is allowed to vote in a challenge that they initiated. The reward pool in a challenge is 2x the amount challenged.

If the Challenger wins, they are rewarded with a percentage of the FOAM tokens staked to the reward pool. If the Challenger loses the vote, their deposit is lost and the tokens are redistributed to the Candidate who registered the POI and the winning voters. At the time of launch the reward percentage for the winner of the challenge is set to 60% with 40% distributed to the winning voters. If the challenger is successful this means they receive their initial challenge stake of tokens back, 50% of the reward pool, plus 10% additional tokens.

How do I challenge a POI?
1. Locate the POI you wish to challenge on the map or in the ‘POIs in View’ list and click to load the card for that POI.
2. Describe what you think is wrong with the POI in the space provided.
3. Enter the amount of Approved FOAM tokens required. You need to stake at least the minimum deposit and up to the amount staked against the original amount submitted by the candidate.
4. If you don’t have enough Approved FOAM, go to My Assets and under Approve FOAM Tokens you can approve more to use for adding and challenging POIs.
5. Click the ‘Challenge’ button
6. You need to confirm your challenge on MetaMask. This brings up a MetaMask confirmation window for a new transaction. Click ‘Confirm’ to approve the transfer of the FOAM tokens required to initiate the challenge.
7. Your challenge has been submitted! It may take a few minutes for the challenge to appear in My Assets.
8. Any FOAM token holder can now vote in the challenge, including the Challenger.

Voting

What is the Vote Underway phase?

After a pending or verified point of interest (POI) is challenged, it enters the Vote Underway phase. Any FOAM token holder can vote to decide if the POI is Valid or Not Valid which determines whether or not it’s eligible to be included in the FOAM Map. 1 FOAM Voting Credit is 1 vote, so the more Voting Credit you use, the more votes you submit. All votes are token-weighted and the winner is determined by the number of Voting Credit on the winning side, not the total number of people who voted. Voting does not put your FOAM tokens in danger and you will not lose your tokens if you vote incorrectly. If you vote on the winning side, you will be rewarded based on the amount of FOAM tokens you contributed in the vote.

- If the majority votes that the POI is Valid, it will be added to the FOAM Map.
- If the majority votes that the POI is Not Valid, it will be removed.

Voting During a Challenge

After submitting a vote, you are shown a Vote Reveal Phrase which must be kept safe. This unique phrase will be required to reveal your vote and claim your reward. Since the FOAM Map is a decentralized system, nobody will be able to help you if you lose this phrase. The Vote Reveal Phrase is a unique cryptographic fingerprint of your information, (also known as a Salt) that is used to reveal the vote in the next phase (VoteReveal) and safeguards against fraudulent behavior.

Reveal Phrase that must be Saved after Voting and used when revealing your Vote

ATTENTION!
You need your Vote Reveal Phrase to reveal your vote and claim your reward. Keep it safe and copy or write it down! You will not be able to reveal your vote without it.

How do I vote?
1. Locate the POI you wish to vote for or against on the map or in the ‘POIs in View’ list.
2. In the list, you can filter the POIs to view only those that are currently challenged.
3. Click the point to load the card for the challenged POI. The countdown timer show how much longer you have to cast your vote.
4. Click the button to load the form to cast your vote on the status of the POI. Here you will see the issues reported with the registration, such as incorrect street address.
5. Select 1 of 2 options for your vote: ‘This POI is Valid’ or ‘This POI is Not Valid’
-‘This POI is Not Valid’ means that you support the challenge and think the POI is ineligible to be included in the FOAM Map.
-‘This POI is Valid’ means that you oppose the challenge and think the POI should be included in the FOAM Map.
6. Enter the amount of Voting Credit you wish to use in the field. Voting does not put your FOAM tokens in danger and you will not lose your tokens if you vote incorrectly.
7. When that’s ready, click Cast Vote to submit.
8. You need to confirm your vote on MetaMask. This brings up a MetaMask confirmation window for a new transaction. Click ‘Confirm’ to submit your vote.
9. You will now receive a Vote Reveal Phrase. Store this in a safe place as it is required to reveal your vote and claim your reward.
10. The next step is to reveal your vote; see below

What is the Vote Reveal phase?

The Vote Reveal phase is when you will reveal your vote to FOAM community. Only the votes revealed are counted to determine whether the POI is Valid or Not Valid. This stage reveals which voters are on the winning or losing side, and if the POI candidate or challenger wins.

To reveal your vote, you must enter your Vote Reveal Phrase. If for some reason you do not reveal your vote, your Voting Credit will be automatically returned to My Assets under Expired Voting Credit once the Vote Reveal phase has completed. Rewards in FOAM tokens are redistributed after the Vote Reveal phase has ended and there is a clear winner.

Revealing a Vote

ATTENTION!
If you do not reveal your vote then your vote will not be counted and you will be ineligible to receive any rewards.

How do I reveal my vote?
1. Locate the POI you voted for or against on the map or in the ‘POIs in View’ list.
2. In the list, you can filter the POIs to view only those that are currently in the Vote Reveal phase.
3. Click the point to load the card for the POI.
— The countdown shows how much time remains for you to reveal your vote. So act quickly!
4. Click the button to ‘Reveal vote’.
5. Enter the Vote Reveal Phrase you received when you cast your vote.
6. Click Reveal Vote to submit the form.
7. You need to confirm your vote reveal on MetaMask. This brings up a MetaMask confirmation window for a new transaction. Click ‘Confirm’ to submit your vote reveal.
8. That’s it!
Important note: Only once the Vote Reveal phase has completed the winner of the challenge will be confirmed and reward tokens redistributed. This gives a fair chance for everyone to reveal their vote.

Upcoming My Asset Card

During the initial use period the asset card will be updated to include interface functionality for claiming voting rewards under Unlocked Voting Credits.

Governance and the Initial Use Period

There are six modular parameters to the FOAM Map TCR, which currently are:

- Minimum Stake — The minimum amount of FOAM tokens required to stake to a new POI: — 50 FOAM
- Pending Phase — The amount of time to challenge a pending POI before will be verified automatically: — 3 days
- Vote Underway Phase — The amount of time the Vote Underway phase lasts: — 5 days
- Vote Reveal Phase — The amount of time the Vote Reveal phase lasts : — 3 days
- Reward Percentage — The percentage of FOAM tokens from the stake and challenge deposit awarded to the Candidate or the Challenger for winning the challenge. The remaining percentage is redistributed to voters on the winning side. — 60%
- Vote Quorum — The percentage of votes needed for a side to be declared the winner of a challenge: — 60%

All of these parameters can be altered by token holders through proposals and votes. The parameters of the FOAM Map are set for the initial use period. The governance dashboard for proposing changes will become active after the initial use period.

Pairing a Secondary non-Metamask Address

Proof of Use is enforced by a smart contract called the Token Controller. This contract simply returns `true` or `false` when attempting to transfer FOAM tokens to any address outside of the platform. True means that you have fulfilled Proof of Use and your tokens can transfer to any address. False means that conditions have not yet been met.

Module for Pairing an address to Metamask

The FOAM Map has been optimized for use with Metamask. For those that have purchased FOAM tokens with a paper wallet, ledger wallet or any other, you will need to pair a Metamask address that you control to your account. Pairing whitelists this secondary address with the Token Controller so you can transfer tokens to Metamask. You will need to sign a raw transaction with your hardware wallet and then sign a transaction with your Metamask account to complete the process.

ATTENTION!

It is possible to pair ONLY ONE METAMASK ADDRESS PER USER and that it is not possible to change after pairing.

Make sure to keep your MetaMask details safe. Nobody can help recover your passphrase.

Signaling

In general any system for Proof of Location will need to bootstrap itself into existence from the weakest self attestation claims to strong fraud proof authority based claims. For FOAM the starting point is Static Proof of Location for Geographic Points of Interest, places and locations for a consensus driven map of the world. Yet a Dynamic Proof of Location system can account for Proof of Location in space and over time by accounting for mobile and dynamic location customers by utilizing time synchronization with low power beacons. FOAM hopes that the Cartographers and users will contribute the necessary individual work, resources, and effort themselves to contribute to the ongoing community-driven growth and upgrade of this important cartography project.

Mining Rewards and Block rewards will hopefully contribute to extending the geographical coverage of Proof of Location and its network effects. FOAM establishes a mechanism to incentivize the placement of beacons in a geographically diverse manner with a function called Signaling.

This Signaling occurs on the FOAM Map, where users place indicators in areas where they need decentralized location-based services, which are then recognized within the token reward structure of the block rewards. FOAM uses general staking, proposing a spatial weighting for nodes that provide the security of the blockchain. Additionally, tokens in block rewards are spatially weighted by the signal. This further incentivizes the growth and ​​dispersion of the network across a variety of users and locations.

Heatmap of staked Signals on the FOAM Map

To Signal, a Cartographer stakes FOAM Tokens to a Signaling smart contract by reference to a particular area. These staked tokens serve as indicators of demand, and are proportionate (i) the length of time staking (the earlier, the better), and (ii) the number of tokens staked (the less well-served areas, the better). In the context of the Dynamic Proof of Location utility, these indicators are the weighted references that determine the spatial mining rewards.

  • *Important Note: Signaling will not be an available function at the time of launch but it will become available prior to the end initial use period. For Proof of Use we recommend waiting until Signaling becomes available to fulfill the percentage of tokens required to be used*

Amount of FOAM tokens needed to satisfy ‘Proof of Use’:

The portion of tokens each purchaser must use, and what they have to do in order to ‘prove use’, depends on the USD($) amount of tokens purchased in the sale as outlined below:

Small Buyers (below $10,000):

  1. must use at least 25% of FOAM tokens purchased in the token sale
  2. must add at least 10 points of interest to the map

Large Buyers (above $10,000):

  1. must use at least 50% of FOAM tokens purchased in the token sale
  2. must add at least 10 points of interest to the map

There is a module in the app to query the Token Controller to see if you have fulfilled Proof of Use.

We are very excited to launch and begin the consensus driven map with all of our stakeholders and community! The amazing support from our community has been a driving factor for us, and we look forward to growing the global community together.

You can read all about FOAM in our whitepaper. If you have any questions or would like to discuss the project, you can join our Discourse and subreddit. To receive the latest project updates, you can sign up for the newsletter and follow us on Twitter.

--

--

Editor for

Ryan John King is the co-founder and CEO of FOAM, a spatial protocol for the Ethereum blockchain that provides secure Proof of Location services www.foam.space