Specifications for Stellar Account
Overview
This document outlines the technical specifications for setting up websites on xlm.sh using Stellar account Data Entries.
Record Types
xlm.sh supports two types of records that can be set using ManageDataOperation:
1. IPFS Records
- Uses the key
app.xlm_sh.ipfs
- Value must be a valid IPFS CID
- Examples:
bafybeifq2rzpqnqrsdupncmkmhs3ckxxjhuvdcbvydkgvch3ms24k5lo7q
QmPK1s3pNYLi9ERiq3BDxKa4XosgWwFRQUydHUtz4YgpqB
2. IPNS Records
- Uses the key
app.xlm_sh.ipns
- Supports two formats:
- IPNS Public Keys
- Example:
k51qzi5uqu5dlvj2baxnqndepeb86cbk3ng7n3i46uzyxzyqj2xjonzllnv0v8
- Example:
- DNSLink
- Format: domain name with valid DNSLink TXT record
- Example:
ipfs.web.example.com
- IPNS Public Keys
Implementation
Using ManageDataOperation
- IPFS Record Setup:
Operation: ManageDataOperation
Key: `app.xlm_sh.ipfs`
Value: [Your IPFS CID]
- IPNS Record Setup:
Operation: ManageDataOperation
Key: `app.xlm_sh.ipns`
Value: [Your IPNS key or DNSLink domain]
Verifying Your Configuration
After setting up your records, you can verify them using the Horizon API:
- For IPFS records:
GET https://horizon.stellar.org/accounts/{your_account_id}/data/app.xlm_sh.ipfs
The response will contain a base64-encoded value that you can decode to verify your record. For example:
json
{
"value": "YmFmeWJlaWZxMnJ6cHFucXJzZHVwbmNta21oczNja3h4amh1dmRjYnZ5ZGtndmNoM21zMjRrNWxvN3E="
}
Decoding this base64 value will give you the actual record value.
- For IPNS records:
GET https://horizon.stellar.org/accounts/{your_account_id}/data/app.xlm_sh.ipfs
DNSLink Configuration
For DNSLink usage:
- Create a TXT record with name
_dnslink.{your-domain}
- Set value to:
dnslink=/ipfs/{your-CID}
Access Rules
Website Access:
- Format:
{soroban_domain}.xlm.sh
- Format:
Record Precedence:
- When both IPFS and IPNS records exist, IPFS takes priority
Domain Integration
To use a Soroban domain:
- Register a domain on Soroban Domains
- Set the domain's Address record to point to your Stellar Account ID
- Website will be accessible via
{your_domain}.xlm.sh
Notes
- All keys follow SEP-0018 namespace standards
- Ensure proper formatting of CIDs and IPNS keys
- Keep your Stellar account's Data Entries updated for website changes
- Use
ManageDataOperation
to add, modify, or remove records