A Solana Name Service (SNS) Registrar program with enhanced metadata URL functionality, deployed on Gorbchain.
- Network: Gorbchain
- Program ID:
CySCGJK9kNNqM2eQSW9hGQ1FCZ51ZHetRfGsTLY1TTe9
- RPC Endpoint:
https://rpc.gorbchain.xyz
- WS Endpoint:
wss://rpc.gorbchain.xyz/ws/
- β Domain registration and management
- β Reverse lookup (address β domain name)
- β Domain ownership transfer
- β Subdomain support
- β Payment processing with multiple tokens
- β Metadata URL Storage: Domains can store optional metadata URLs
- β Metadata Updates: Update metadata URLs for existing domains
- β Backward Compatibility: Existing domains work unchanged
- β Rich Domain Information: Store profile data, business info, NFT metadata
Instruction ID | Name | Description |
---|---|---|
13 | Create |
Create domain with optional metadata URL |
14 | UpdateMetadata |
Update metadata URL for existing domain |
- Rust 1.70+
- Solana CLI 1.18+
- Node.js 18+
# Clone the repository
git clone <your-repo-url>
cd sns-registrar
# Build the program
cargo build-sbf --features devnet
# Install Node.js dependencies
npm install
# Deploy to Gorbchain
node deploy-gorbchain-manual.js
# Basic functionality test
node test-metadata-functionality.js
# Detailed structure test
node detailed-metadata-test.js
# Real contract interaction test
node real-contract-test.js
# Transaction history
node transaction-history.js
# Domain operations
node domain-operations.js
const domainName = "company.sol";
const metadataUrl = "https://arweave.net/company-metadata.json";
// Register domain with metadata
await snsClient.createDomainWithMetadata(domainName, metadataUrl);
const domainName = "company.sol";
const newMetadataUrl = "https://arweave.net/updated-company-metadata.json";
// Update metadata URL
await snsClient.updateMetadataUrl(domainName, newMetadataUrl);
const domainName = "company.sol";
const amount = 0.1; // SOL
// Send tokens to domain (resolves to wallet address)
await snsClient.sendTokensToDomain(domainName, amount);
sns-registrar/
βββ src/
β βββ lib.rs # Main program entry point
β βββ state.rs # Data structures (includes metadata_url)
β βββ instruction_auto.rs # Instruction definitions
β βββ processor.rs # Instruction router
β βββ processor/
β β βββ create.rs # Domain creation
β β βββ update_metadata.rs # NEW: Metadata updates
β β βββ ...
β βββ cpi.rs # Cross-program invocations
β βββ utils.rs # Utility functions
βββ tests/
βββ scripts/
β βββ deploy-gorbchain-manual.js
β βββ test-metadata-functionality.js
β βββ detailed-metadata-test.js
β βββ real-contract-test.js
β βββ transaction-history.js
β βββ domain-operations.js
βββ docs/
- Hash:
63Y6KQxcLGU1H7ZTm624y6DHFRbJjTjuxo7mQsiY6BqdpN5PxRE2wceSBU7mMYaNzKjZoD6WyQFDAx9xVvHZJ2zP
- Date: July 31, 2025
- Status: β Success
- Company.sol Registration: Domain registered with metadata URL
- Token Transfer: 0.1 SOL sent to company.sol
- Transaction:
3ECd6Z6CGyUBdUp7tjedrEVJn8cYS6UeMKNDCWw2WVrJxYp3Gp6KpfKDnGYLgmbucux7PoNCSKYy1bygjpZYA8JQ
#[derive(BorshDeserialize, BorshSerialize)]
pub struct ReverseLookup {
pub name: String,
pub metadata_url: Option<String>, // NEW FIELD
}
{
"domain": "company.sol",
"metadata_url": "https://arweave.net/company-metadata.json",
"description": "Business domain with company info"
}
- β Gorbchain (Primary deployment)
- π Devnet (Testing)
- π Mainnet (Future deployment)
- β Account ownership validation
- β Signer verification
- β Instruction parameter validation
- β Cross-program invocation security
- β Rent exemption handling
- Program Size: 309,568 bytes
- Rent Exemption: 2.15548416 SOL
- Transaction Fee: ~0.00001 SOL
- Response Time: < 1 second
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
- Issues: Create an issue on GitHub
- Documentation: Check the docs/ folder
- Testing: Run the test scripts for verification
- Solana Labs for the SNS foundation
- Gorbchain for network support
- Community contributors
Deployment Date: July 31, 2025
Version: 1.0.0 with Metadata URL Support
Status: β
LIVE ON GORBCHAIN