Recently, we’ve brought GIVE, the same offchain medium of exchange in Gift Circles, way out into the open. Anyone can send it on Farcaster or in CoLinks, to assign value to someone else’s skills And now, GIVE histories are being rolled up onchain for interoperability in an EAS (Ethereum Attestation Service) data layer. Any contract on Base, or any app with the ability to read onchain data, can use it. We've registered 45,000+ attestations already. What’s more: anyone can add to it. The Social Oracle (Base schema #261) is open for any and all data providers that want to become a trusted source.
We’re calling it the Social Oracle, because the schema takes in social data from a broad range of web3 actors and peer-to-peer actions, and provides a reliable format and data source for the consumption and assessment of collective knowledge. It is a general repository for the context and reputation of any wallet that participates in GIVE attestations, and soon even more than that (we have plans). Every time a GIVE is sent, we bring that GIVE onchain along with its associated natural language context and some other useful data, creating an attestation trace connecting one wallet to another. The Social Oracle + GIVE provides a quantifiable, scarcity backed valuation around natural language statements made by web3 participants.
We think this becomes useful for many onchain user stories, such as value accrual and distribution, discovery and connection, research and attribution, governance and eligibility. And, we think this kind of pattern, using collective, trusted intentions to help qualify user experience, collaboration and ownership, is going to help define how the next phase of the internet works. Onchain and online will become more and more related, and The Social Oracle helps bridge the gap between social interaction and trustless attribution.
You can try the Social Oracle today!
When trying to write a large amount of data on-chain, we ran into issues with nonce conflicts. We were using a single signer in Ethers.js to write the data from, and we looped across our data and would write on-chain to EAS each piece of data. However, the issue was that within each loop Ethers.js would make an RPC call to fetch the highest nonce the account had used, and then increment that one for the next transaction. But since we had just submitted a successful transaction, sometimes the RPC call would give us the wrong nonce because of a race condition between the tx being mined and the RPC response. To solve this we used the experimental Ethers.js NonceManager class to manage nonces locally, and this solved the bug. https://docs.ethers.org/v5/api/experimental/#experimental-noncemanager
Tracks Applied (1)
DISCOVERY with Fleek
Technologies used
Cheering for a project means supporting a project you like with as little as 0.0025 ETH. Right now, you can Cheer using ETH on Arbitrum, Optimism and Base.
Discussion