{"id":21561737,"url":"https://github.com/synonymdev/selfie-records","last_synced_at":"2025-04-10T12:06:12.113Z","repository":{"id":256428602,"uuid":"853585657","full_name":"synonymdev/selfie-records","owner":"synonymdev","description":"Explore the world of DNS TXT records for payments, identities and beyond.","archived":false,"fork":false,"pushed_at":"2024-09-11T01:31:50.000Z","size":333,"stargazers_count":11,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-05T20:37:39.305Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://selfie-records.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/synonymdev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2024-09-07T01:10:45.000Z","updated_at":"2024-09-20T15:15:03.000Z","dependencies_parsed_at":"2024-09-10T17:48:28.161Z","dependency_job_id":"ad9d9eeb-fc06-46ed-a19a-1e3d9c6892ac","html_url":"https://github.com/synonymdev/selfie-records","commit_stats":null,"previous_names":["synonymdev/selfie-records"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/synonymdev%2Fselfie-records","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/synonymdev%2Fselfie-records/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/synonymdev%2Fselfie-records/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/synonymdev%2Fselfie-records/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/synonymdev","download_url":"https://codeload.github.com/synonymdev/selfie-records/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248216883,"owners_count":21066632,"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-24T09:27:49.220Z","updated_at":"2025-04-10T12:06:12.097Z","avatar_url":"https://github.com/synonymdev.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![image](https://github.com/user-attachments/assets/23716bc3-a8ce-49d0-989f-5003f95b7cfc)\n\nThis repository contains two main projects: **Selfie Records SDK** and **Selfie Records Website**. Each project extends the use of DNS TXT records, from SDK-based interactions to visual presentation and documentation on the website.\n\n## Extending BIP353 to Broader Use Cases\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"./0_docs/dns.png\" alt=\"DNS use cases\" style=\"width: 453px; margin: 0 auto; display: block;\"\u003e\n\u003c/div\u003e\n\n### Why expand BIP353 to support more than just Bitcoin payments?\n\nInitially, BIP353 focused solely on payments through DNS TXT records. However, the infrastructure of DNS is versatile and secure, especially when combined with DNSSEC. This project, Selfie Records, aims to expand the utility of BIP353 to support a variety of use cases through TXT records, including:\n\n- **Identities:** Verifying and associating public keys (e.g., Nostr, Bitcoin) with email addresses or domain names.\n- **Payments:** Continuing to support Bitcoin payments using DNS-based resolutions.\n- **Other data types:** DNS TXT records can store anything from authentication keys to metadata, making it a flexible and decentralized alternative to more traditional data storage methods.\n\nBy leveraging the existing DNS infrastructure, we offer a decentralized, secure, and simple solution for handling multiple types of data.\n\n## Projects\n\n### 1. [Selfie Records SDK](./1_package/README.md)\n\nThe **Selfie Records SDK** is designed to interact with DNS TXT records, offering a robust solution for storing and retrieving data, extending the concept of Bitcoin Improvement Proposal (BIP) 353 to support a broad range of data types using standard DNS infrastructure.\n\n#### 📚 Key Features:\n- Support for various data types via DNS TXT records.\n- A robust SDK that simplifies developers' interaction with DNS TXT records.\n- Enhanced security with **DNSSEC** to ensure data integrity and authenticity.\n\n#### 🚀 Installation:\n```bash\nnpm i @synonymdev/selfie-records\n```\n\n#### ⚙️ Usage:\n```javascript\nimport { getRecords } from \"@synonymdev/selfie-records\";\n\nasync function fetchRecords() {\n  const records = await getRecords({\n    name: \"hello@miguelmedeiros.dev\",\n    filters: [\"bitcoin-payment\", \"nostr\"], // optional\n    dnsServer: \"1.1.1.1\", // optional\n  });\n\n  console.log(records);\n}\n\nfetchRecords();\n```\n\nFor more details, check the [SDK README](./1_package/README.md).\n\n### 2. [Selfie Records Website](./2_app/README.md)\n\nThe **Selfie Records Website** is the official website. It showcases the interface for interacting with DNS TXT records, highlighting the use of payments, identities, and other data through this technology.\n\n\u003cdiv align=\"center\"\u003e\n\nhttps://github.com/user-attachments/assets/c5ae1a26-2f93-430f-a4be-a485b848067b\n\n\u003c/div\u003e\n\n#### 🛠️ Setup and Development:\nTo run the development server:\n```bash\nnpm run start:dev\n```\n\nFor more information, see the [Website README](./2_app/README.md).\n\n---\n\n## 📂 Repository Structure\n\n```plaintext\n/\n├── 0_docs/              # Docs assets and images\n├── 1_package/           # Selfie Records SDK\n├── 2_app/               # Selfie Records Website\n├── docker-compose.yml   # Selfie Records Docker Compose file\n└── README.md            # This file\n```\n\nEach project has its own detailed README with instructions for installation, usage, and development.\n\n---\n\n## 🐋 Docker Instructions\n\nYou can also run the project using Docker. The `docker-compose.yml` file is located at the root of the repository.\n\nTo build and run the services, execute the following command from the root directory:\n\n```bash\ndocker-compose up -d --build\n```\n\nThis will build and start the containers for both the SDK and the website in detached mode.\n\nTo view the logs of the running services:\n\n```bash\ndocker-compose logs -f\n```\n\nTo stop the services:\n\n```bash\ndocker-compose down\n```\n\n---\n\n## 📜 License\n\nThis repository is open-source under the [MIT License](./LICENSE).\n\n---\n\n## 🤝 Contributing\n\nContributions are welcome! Please submit pull requests or open issues to suggest improvements or report problems.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsynonymdev%2Fselfie-records","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsynonymdev%2Fselfie-records","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsynonymdev%2Fselfie-records/lists"}