{"id":18956637,"url":"https://github.com/swader/associator","last_synced_at":"2025-06-19T13:40:51.775Z","repository":{"id":148115764,"uuid":"471769340","full_name":"Swader/associator","owner":"Swader","description":"Simple tool to prove ownership of a Substrate and an EVM address at the same time","archived":false,"fork":false,"pushed_at":"2022-03-20T06:00:47.000Z","size":484,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-01T04:14:05.562Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Swader.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-03-19T17:42:22.000Z","updated_at":"2022-03-20T09:51:35.000Z","dependencies_parsed_at":"2023-05-19T04:45:34.085Z","dependency_job_id":null,"html_url":"https://github.com/Swader/associator","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Swader%2Fassociator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Swader%2Fassociator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Swader%2Fassociator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Swader%2Fassociator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Swader","download_url":"https://codeload.github.com/Swader/associator/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239954567,"owners_count":19724260,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-08T13:53:09.229Z","updated_at":"2025-02-21T04:25:06.391Z","avatar_url":"https://github.com/Swader.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Associator\n\nSimple tool to sign the same random message with both an EVM and a Substrate address, proving simultaneous ownership of both.\n\n## Todo\n\n- for some reason fetch submits to server twice, find out why and fix\n- add progress bar on entropy generation\n- add nice error / success popups on server submission\n- ✅ ~~make prettier with some styling and layouts~~\n- ✅ ~~add input for API and API key so that users can plug in a third party server to register and persist this association~~\n  - ✅ ~~the POST request should include original message, pubkeys of both addresses, and both signed messages. Server should run a Verify on both before persisting~~\n- deploy on decentralized storage\n\n## How to Use\n\n### Signing\n\nTo test the Signing functionality, just run `index.html`, double click should work or in worst case a simple server like [http-server](https://www.npmjs.com/package/http-server). Nothing else needed.\n\n### Verifying\n\nThis is an optional part of the app and serves as just a demo for how to verify the data. You can harvest it for your own use, or use it as is:\n\n- install dependencies with `yarn install`\n- run `node verify.js` with some input params. Example:\n  ```\n  node verify.js \\\n  entropy:243577494397221248 \\  \n  subSignature:0x92d558b3ebbe83c1b8ddd9b16ffc8f5135de0c93a0c1f50328210706d766396f5cc16a1eab622aa8ffbbe00cc82c3e12a160333f489db1376c03aca584661a8c \\\n  evmSignature:0x3cd024f2d900397da971ac55044b35a98ccff29bc81965ce9e6643fd4b3bdcc36557f21685cdc188e6c19126ec0a605b2f5463704f60ca6ba0c9b0632ab90e861c \\\n  evmAddress:0xB9b8EF61b7851276B0239757A039d54a23804CBb \\\n  subAddress:5CK8D1sKNwF473wbuBP6NuhQfPaWUetNsWUNAAzVwTfxqjfr\n    ```\n\nThe output will be a simple `true` or `false`. It is then up to you to decide how to store this association.\n\n## Contributing\n\nPlease submit PRs to the repo https://github.com/swader/associator, there is only one rule: no build systems. This tool is designed to work as-is, no complications, no extra software, no tool kerfuffles. It is built to be easy to hack on, and easy to deploy and run anywhere.\n\n## License\n\nNone, use as you see fit for whatever.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fswader%2Fassociator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fswader%2Fassociator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fswader%2Fassociator/lists"}