Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 31 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -140,18 +140,45 @@ After making your changes:

By following this process, you help maintain the quality and consistency of the website's content while allowing for community contributions.

## 🤝 Contributing
## Content Architecture

We welcome contributions to the Counterparty website! Here's how you can contribute:
Content lives in `src/content/` as Markdown with YAML frontmatter. Each content type has:
1. Markdown files in `src/content/<type>/<slug>.md`
2. Tina collection schema in `src/content/collections/<type>Collection.ts`
3. Astro rendering component in `src/components/home/<Type>.astro`
4. Page list in `src/content/pages/<type>/<type>.md` (controls which items appear and in what order)

All four must stay in sync. Adding a frontmatter field to a Markdown file without updating the Tina schema means the field will be silently stripped at render time.

### Adding or Updating Content

1. Create/edit the Markdown file in `src/content/<type>/<slug>.md` with frontmatter matching the corresponding collection schema
2. Add the filename to the list in `src/content/pages/<type>/<type>.md`
3. If adding new frontmatter fields: update the Tina schema in the collection file AND any icon/display mappings in the Astro component
4. Add any images to `public/images/<type>/`

## Build Notes

The `npm run build` script requires `tinacms dev` to be running. Start it in the background first:

```
TINA_PUBLIC_IS_LOCAL=true npx tinacms dev &
sleep 5
npx astro build
```

There is no test suite — the build itself validates content. If `astro build` succeeds, the content is valid.

## Contributing

We welcome contributions to the Counterparty website:

1. Fork the repository
2. Create a new branch: `git checkout -b feature/your-feature-name`
3. Make your changes and commit them: `git commit -m 'Add some feature'`
4. Push to the branch: `git push origin feature/your-feature-name`
5. Submit a pull request

Please make sure to update tests as appropriate and adhere to the project's coding standards.

## 📄 License

This work is licensed under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/?ref=chooser-v1).
Expand Down
Binary file added public/images/wallets/ninjawallet.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/images/wallets/xcpwallet.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
9 changes: 8 additions & 1 deletion src/components/home/Wallets.astro
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,14 @@ const featureIcons = {
dispensers: "faucet",
assetCreation: "plus",
dex: "arrows-rotate",
fairminter: "leaf"
fairminter: "leaf",
broadcasts: "tower-broadcast",
dividends: "coins",
sweeps: "broom",
atomicSwaps: "right-left",
counterpartyInscriptions: "stamp",
hardwareWalletSupport: "microchip",
openSource: "code",
};

const platformIcons = {
Expand Down
37 changes: 36 additions & 1 deletion src/content/collections/walletsCollection.ts
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,42 @@ export const walletCollection: Collection = {
type: "boolean",
name: "fairminter",
label: "Fairminter",
}
},
{
type: "boolean",
name: "broadcasts",
label: "Broadcasts",
},
{
type: "boolean",
name: "dividends",
label: "Dividends",
},
{
type: "boolean",
name: "sweeps",
label: "Sweeps",
},
{
type: "boolean",
name: "atomicSwaps",
label: "Atomic Swaps",
},
{
type: "boolean",
name: "counterpartyInscriptions",
label: "Counterparty Inscriptions",
},
{
type: "boolean",
name: "hardwareWalletSupport",
label: "Hardware Wallet Support",
},
{
type: "boolean",
name: "openSource",
label: "Open Source",
},
],
},
{
Expand Down
2 changes: 2 additions & 0 deletions src/content/pages/wallets/wallets.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ info: >
that allows it to support the Counterparty protocol. There are several
different wallets, each with a different design and target audience.
walletList:
- xcpwallet.md
- ninjawallet.md
- casa-tookan.md
- horizon-wallet.md
- rarepepewallet.md
Expand Down
15 changes: 11 additions & 4 deletions src/content/wallets/casa-tookan.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,24 @@
title: Casa Tookan
description: >-
Casa Tookan is a multi-chain, non-custodial mobile wallet supporting Bitcoin and Ethereum ecosystems. As the official wallet for the Spells of Genesis (SoG) game, it allows players to manage SoG assets alongside other Counterparty and Ethereum tokens.
link: "https://crystalsuite.com/casa-tookan-wallet/"
link: 'https://crystalsuite.com/casa-tookan-wallet/'
logo: /images/wallets/casa-tookan.png
features:
dispensers: false
assetCreation: false
dex: false
dex: true
fairminter: false
broadcasts: false
dividends: false
sweeps: false
atomicSwaps: false
counterpartyInscriptions: false
hardwareWalletSupport: false
openSource: false
platforms:
web: false
mobile: true
desktop: false
telegram: "https://t.me/EverdreamSoft"
twitter: "https://x.com/EverdreamSoft"
telegram: 'https://t.me/EverdreamSoft'
twitter: 'https://x.com/EverdreamSoft'
---
7 changes: 7 additions & 0 deletions src/content/wallets/counterwallet-v2.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,13 @@ features:
assetCreation: true
dex: true
fairminter: true
broadcasts: false
dividends: false
sweeps: false
atomicSwaps: false
counterpartyInscriptions: false
hardwareWalletSupport: false
openSource: true
platforms:
web: true
mobile: false
Expand Down
13 changes: 10 additions & 3 deletions src/content/wallets/freewallet.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,21 @@
---
title: Freewallet
title: Freewallet (Desktop Version)
description: >-
Freewallet is a Counterparty desktop wallet.
Freewallet is an open-source wallet for Bitcoin and Counterparty. It uses Legacy/Segwit Bitcoin addresses, and lets you store Bitcoin, XCP, plus user created tokens. This specific desktop version also includes many other features such as Dividends, Broadcasts, DEX, Dispensers and more.
link: 'https://freewallet.io/'
logo: /images/wallets/freewallet.png
features:
dispensers: true
assetCreation: true
dex: true
fairminter: true
fairminter: false
broadcasts: true
dividends: true
sweeps: true
atomicSwaps: false
counterpartyInscriptions: false
hardwareWalletSupport: true
openSource: true
platforms:
web: false
mobile: false
Expand Down
12 changes: 9 additions & 3 deletions src/content/wallets/horizon-wallet.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,24 @@ description: >-
introduces a completely refreshed visual design, smart asset swaps with
support for DEX trades and PSBT atomic swaps, and deep integration with
Horizon Market.

link: 'https://chromewebstore.google.com/detail/horizon-wallet/bnmgkjlaommgappfckljlelgahnbngme'
logo: /images/wallets/horizon.svg
features:
dispensers: true
assetCreation: true
dex: true
fairminter: true
broadcasts: false
dividends: true
sweeps: true
atomicSwaps: true
counterpartyInscriptions: false
hardwareWalletSupport: false
openSource: true
platforms:
web: true
web: false
mobile: false
desktop: false
desktop: true
telegram: 'https://t.me/HorizonXCP'
twitter: "https://x.com/hznmarket"
---
24 changes: 24 additions & 0 deletions src/content/wallets/ninjawallet.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
title: NinjaWallet
description: >-
NinjaWallet is a STAMPS centric Counterparty wallet that includes compatibility with Leather Wallet and Unisat. It also support protocol functions like Dispensers, Asset Creation, Dividends, Atomic Swaps and even SRC20 token trading.
link: 'https://wallet.xcp.ninja/'
logo: /images/wallets/ninjawallet.png
features:
dispensers: true
assetCreation: true
dex: false
fairminter: true
broadcasts: false
dividends: true
sweeps: false
atomicSwaps: true
counterpartyInscriptions: false
hardwareWalletSupport: false
openSource: false
platforms:
web: true
mobile: false
desktop: false
isForking: false
---
13 changes: 10 additions & 3 deletions src/content/wallets/rarepepewallet.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: RarepepeWallet
title: Rare Pepe Wallet
description: >-
Rare Pepe Wallet supports Rare Pepes and the entire Counterparty NFT
ecosystem. Created in 2016, the current version supports both legacy
Expand All @@ -13,9 +13,16 @@ features:
assetCreation: true
dex: true
fairminter: false
broadcasts: false
dividends: false
sweeps: true
atomicSwaps: true
counterpartyInscriptions: false
hardwareWalletSupport: true
openSource: false
platforms:
web: true
web: false
mobile: false
desktop: false
desktop: true
twitter: 'https://x.com/wasthatawolf'
---
24 changes: 24 additions & 0 deletions src/content/wallets/xcpwallet.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
title: XCP Wallet
description: >-
XCP Wallet is a full force Counterparty 'power-user' friendly wallet. It includes all current Counterparty protocol features and many user centric embellishments including but not limited to: Hardware Wallet Support, Multi-Sig Fee Reclaim Tool, In Wallet Tutorials, an easy 'Buy XCP' button, Atomic Swaps, in-wallet Counterparty Inscriptions (with file upload) and much much more!
link: 'https://chromewebstore.google.com/detail/xcp-wallet/nicpjdbehgcjbjfjkobcidnfmfpijohg'
logo: /images/wallets/xcpwallet.png
features:
dispensers: true
assetCreation: true
dex: true
fairminter: true
broadcasts: true
dividends: true
sweeps: true
atomicSwaps: true
counterpartyInscriptions: true
hardwareWalletSupport: true
openSource: true
platforms:
web: true
mobile: false
desktop: false
isForking: false
---
2 changes: 1 addition & 1 deletion tina/tina-lock.json

Large diffs are not rendered by default.