efd

所属分类:Web3.0
开发工具:JavaScript
文件大小:0KB
下载次数:0
上传日期:2021-07-08 22:34:58
上 传 者sh-1993
说明:  去中心化网络的可移植互助列表,
(A portable list of mutuals for the decentralized web,)

文件列表:
LICENSE (35149, 2021-07-03)
client/ (0, 2021-07-03)
client/config-overrides.js (414, 2021-07-03)
client/package.json (1021, 2021-07-03)
client/public/ (0, 2021-07-03)
client/public/android-chrome-192x192.png (12075, 2021-07-03)
client/public/android-chrome-512x512.png (39780, 2021-07-03)
client/public/favicon-16x16.png (703, 2021-07-03)
client/public/favicon-32x32.png (1419, 2021-07-03)
client/public/favicon.ico (15406, 2021-07-03)
client/public/index.html (1751, 2021-07-03)
client/public/manifest.json (526, 2021-07-03)
client/public/robots.txt (67, 2021-07-03)
client/src/ (0, 2021-07-03)
client/src/components/ (0, 2021-07-03)
client/src/components/App.css (2047, 2021-07-03)
client/src/components/ConfirmPage.js (4528, 2021-07-03)
client/src/components/Dapp.js (11779, 2021-07-03)
client/src/components/HeaderUser.css (2001, 2021-07-03)
client/src/components/HeaderUser.js (5072, 2021-07-03)
client/src/components/InvitePage.css (257, 2021-07-03)
client/src/components/InvitePage.js (3516, 2021-07-03)
client/src/components/Nav.js (1120, 2021-07-03)
client/src/components/NoWalletDetected.js (562, 2021-07-03)
client/src/components/Spinner.css (936, 2021-07-03)
client/src/components/Spinner.js (362, 2021-07-03)
client/src/components/User.css (1497, 2021-07-03)
client/src/components/User.js (2141, 2021-07-03)
client/src/components/UserList.js (1050, 2021-07-03)
client/src/index.js (434, 2021-07-03)
client/src/logo.svg (49512, 2021-07-03)
client/src/util.js (1551, 2021-07-03)
client/yarn.lock (514847, 2021-07-03)
contracts/ (0, 2021-07-03)
contracts/EthereumFriendDirectory.sol (2385, 2021-07-03)
... ...

# Ethereum Friend Directory Ethereum Friend Directory is a blockchain-based social graph which allows users to maintain a list of mutual connections. This list of connections can be accessed by any app on the decentralized web to allow for social use cases e.g. a portable following/follower list. ## How it works Requests are created and accepted off-chain. This is the most cost-effective way of facilitating this interaction. An implementation of these methods can be found in the tests directory. 1. Alice creates a request by signing the hash of a message which contains her and Bob's address and sends it to Bob 2. Bob signs the same message with Alice's signature added in 3. Bob or Alice can confirm the request at any time by submitting it to the contract's `confirmRequest` method 4. Bob's address is added to Alice's set in the `adj` mapping and Alice to Bob's - The adjacency list for each user in `adj` is read by the client to display who is friends with who. - ENS is used to resolve ENS domains and profile images ### Progress - [ ] Design - [Figma](https://www.figma.com/file/T8AoUKQ0UNE5qTtftqg7nL/Ethereum-Friend-Directory?node-id=0%3A1) - [x] Concept mapped out - [ ] Contract - [x] Confirm request accept - [x] Remove friends - [ ] Batch confirm - [ ] Batch remove - [ ] Add salt to hash arguments - [ ] Frontend - [x] Basic components - [x] Connect/switch account and view profile - [x] Profile url - [x] ENS reverse resolution - [ENS Docs](https://docs.ens.domains/dapp-developer-guide/resolving-names#reverse-resolution) - [ ] Requests - [x] Create signature that you can send to someone - [x] Route to sign request to accept - [x] Route to publish friend confirmation - [x] Share request via URL - [x] Share request via QR code - [ ] Store invites locally for batch confirm - [x] Remove friends - [x] View other accounts - [ ] UX improvements - [x] Button hover states - [x] Button loading states - [x] Page loading states - [ ] Mobile layout - [ ] Testing - [x] Create ENS task - [ ] Set profile image - [ ] Deploy - [x] Testnet * 1 July 2021 - [Goerli](https://goerli.etherscan.io/tx/0x181f95da7f19df535c98d2c11e6acf8547fbd53d2f9ec35c6a698b72f4f6aa09) - [IPFS](https://bafybeiegqr46dhho3vxwhu3gpfjugkjcyqyyeuqxn7xivwxznl6roiwzwe.ipfs.infura-ipfs.io) - [commit](https://github.com/stephancill/efd/commit/333229e64680e9807d2e7b300e948e3d4ae3679a) - [ ] Mainnet or L2 - [Issue](https://github.com/stephancill/efd/issues/9) - [ ] Growth/adoption - [ ] Properly document contract call - [ ] Sample code for Infura and Alchemy - [ ] SDKs - [ ] JavaScript - [ ] Python - [ ] Ruby - [ ] Go - [ ] React component Reach out on Twitter [@stephancill](https://twitter.com/stephancill) if you'd like to help out or make a PR. ## Installation ``` yarn ``` ## Development ### Contract ``` yarn run node ``` In a separate terminal, to generate random data for the built in accounts: ``` yarn dev ``` ### Client ``` cd client yarn start ``` ## Tests ``` yarn test ``` ## Deployment ### Contracts 1. Update network in `hardhat.config.js` 2. `npx hardhat run deploy --network [network name]` ### Client 1. `cd client` 2. Add addresses for `PublicResolver`, `ReverseRegistrar`, `ReverseRecords`, `ENS` in `client/deployments/map.json` (and `EFD` if using an existing contract) 3. Build using `yarn build` ### Deploy client to IPFS using [ipfs-deploy](https://github.com/ipfs-shipyard/ipfs-deploy) 1. Install ipfs-deploy ``` npm install -g ipfs-deploy ``` 2. Deploy app ``` npx ipfs-deploy build ``` 3. Visit the HTTP gateway URL to check if it worked.

近期下载者

相关文件


收藏者