Skip to content

Explore the world of DNS TXT records for payments, identities and beyond.

License

Notifications You must be signed in to change notification settings

synonymdev/selfie-records

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

image

This 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.

Extending BIP353 to Broader Use Cases

DNS use cases

Why expand BIP353 to support more than just Bitcoin payments?

Initially, 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:

  • Identities: Verifying and associating public keys (e.g., Nostr, Bitcoin) with email addresses or domain names.
  • Payments: Continuing to support Bitcoin payments using DNS-based resolutions.
  • 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.

By leveraging the existing DNS infrastructure, we offer a decentralized, secure, and simple solution for handling multiple types of data.

Projects

The 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.

📚 Key Features:

  • Support for various data types via DNS TXT records.
  • A robust SDK that simplifies developers' interaction with DNS TXT records.
  • Enhanced security with DNSSEC to ensure data integrity and authenticity.

🚀 Installation:

npm i @synonymdev/selfie-records

⚙️ Usage:

import { getRecords } from "@synonymdev/selfie-records";

async function fetchRecords() {
  const records = await getRecords({
    name: "hello@miguelmedeiros.dev",
    filters: ["bitcoin-payment", "nostr"], // optional
    dnsServer: "1.1.1.1", // optional
  });

  console.log(records);
}

fetchRecords();

For more details, check the SDK README.

The 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.

20240910-2133-09.0064629.mp4

🛠️ Setup and Development:

To run the development server:

npm run start:dev

For more information, see the Website README.


📂 Repository Structure

/
├── 0_docs/              # Docs assets and images
├── 1_package/           # Selfie Records SDK
├── 2_app/               # Selfie Records Website
├── docker-compose.yml   # Selfie Records Docker Compose file
└── README.md            # This file

Each project has its own detailed README with instructions for installation, usage, and development.


🐋 Docker Instructions

You can also run the project using Docker. The docker-compose.yml file is located at the root of the repository.

To build and run the services, execute the following command from the root directory:

docker-compose up -d --build

This will build and start the containers for both the SDK and the website in detached mode.

To view the logs of the running services:

docker-compose logs -f

To stop the services:

docker-compose down

📜 License

This repository is open-source under the MIT License.


🤝 Contributing

Contributions are welcome! Please submit pull requests or open issues to suggest improvements or report problems.

About

Explore the world of DNS TXT records for payments, identities and beyond.

Resources

License

Stars

Watchers

Forks

Languages