Skip to content
Back to skills

Bsocial

ASecurity

This skill should be used when the user asks to "post to BSocial", "like a post", "follow user", "send message", "on-chain social media", "BMAP", "BSocial protocol", "create on-chain post", "read BSocial posts", or needs social operations (posts, likes, follows, messages, reposts, friends) on BSV blockchain.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 27, 2026
blockchaintypescriptbashapi

Works with

  • cli
  • api

Security analysis

A92/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro scans all 16 files and shows the line behind each finding

Scanned September 27, 2026

npx -y skills add David-Li0406/meta-skill-evloving --skill bsocial --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Bsocial?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Bsocial
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/david-li0406-bsocial/badge)](https://www.skillsdirectory.com/skills/david-li0406-bsocial)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: bsocial
description: This skill should be used when the user asks to "post to BSocial", "like a post", "follow user", "send message", "on-chain social media", "BMAP", "BSocial protocol", "create on-chain post", "read BSocial posts", or needs social operations (posts, likes, follows, messages, reposts, friends) on BSV blockchain.
allowed-tools: "Bash(bun:*)"
---

# BSocial

Complete on-chain social protocol for BSV blockchain. Posts, likes, follows, messages, reposts, and friend requests using BitcoinSchema.org standards.

## When to Use

- Create social content (posts, replies, reposts)
- Social actions (likes, follows, friend requests)
- Real-time messaging (channels, direct messages)
- Query social data by address or transaction

## Create Operations

All create scripts require a funded WIF (Wallet Import Format) private key.

### Post

```bash
bun run skills/bsocial/scripts/create-post.ts <wif> "Post content" [options]

# Options:
#   --channel <name>    Post to a channel
#   --url <url>         Associate with URL
#   --tags <t1,t2>      Comma-separated tags
#   --dry-run           Build tx without broadcasting
```

### Reply

```bash
bun run skills/bsocial/scripts/create-reply.ts <wif> <txid> "Reply content" [--tags <t1,t2>]
```

### Like

```bash
bun run skills/bsocial/scripts/create-like.ts <wif> <txid>
```

### Follow

```bash
bun run skills/bsocial/scripts/create-follow.ts <wif> <bapId>
```

### Repost

```bash
bun run skills/bsocial/scripts/create-repost.ts <wif> <txid> [--context <type> --value <val>]
```

### Message

```bash
bun run skills/bsocial/scripts/create-message.ts <wif> "Message" [options]

# Options:
#   --channel <name>    Send to channel
#   --to <bapId>        Direct message to user
```

### Friend

```bash
bun run skills/bsocial/scripts/create-friend.ts <wif> <bapId>
```

## Read Operations

Query social data from the BMAP API.

### Posts

```bash
bun run skills/bsocial/scripts/read-posts.ts <address> [--limit 20] [--json]
```

### Likes

```bash
bun run skills/bsocial/scripts/read-likes.ts --address <addr>
bun run skills/bsocial/scripts/read-likes.ts --txid <txid>
```

### Follows

```bash
bun run skills/bsocial/scripts/read-follows.ts <address> [--limit 100] [--json]
```

### Messages

```bash
bun run skills/bsocial/scripts/read-messages.ts --channel <name>
bun run skills/bsocial/scripts/read-messages.ts --address <addr>
```

### Friends

```bash
bun run skills/bsocial/scripts/read-friends.ts <address> [--json]
```

## Protocol Stack

```
[B Protocol] | [MAP Protocol] | [AIP Protocol]
   content       metadata         signature
```

- **B Protocol**: Binary content storage (text, media)
- **MAP Protocol**: Metadata key-value pairs (app, type, context)
- **AIP Protocol**: Author signature for verification

## Context Types

| Context | Use Case |
|---------|----------|
| `tx` | Reply/like a transaction |
| `channel` | Post/message to named channel |
| `bapID` | Target specific identity |
| `url` | Associate with external URL |

## Dependencies

- `@bsv/sdk` - Transaction building
- `@bopen-io/templates` - BSocial protocol templates

## API

Base URL: `https://bmap-api-production.up.railway.app`

### REST Endpoints
| Endpoint | Description |
|----------|-------------|
| `/social/post/bap/{bapId}` | Posts by BAP ID |
| `/social/feed/{bapId}` | Feed for BAP ID |
| `/social/post/{txid}/like` | Likes for a post |
| `/social/bap/{bapId}/like` | Likes by user |
| `/social/friend/{bapId}` | Friends for BAP ID |
| `/social/@/{bapId}/messages` | Messages for user |
| `/social/channels/{channelId}/messages` | Channel messages |

### Query API (fallback)
- Query: `/q/{collection}/{base64Query}`
- SSE: `/s/{collection}/{base64Query}`

### Ingest
- POST `/ingest` with `{ rawTx: tx.toHex() }`

## Friend Encryption

Friend requests use Type42 key derivation with BRC-43 invoice numbers (`2-friend-{sha256(friendBapId)}`).

```typescript
import { BAP } from "bsv-bap";

const bap = new BAP({ rootPk: wif });
const identity = bap.getId(bap.listIds()[0]);

// Get encryption pubkey for friend request
const friendPubKey = identity.getEncryptionPublicKeyWithSeed(friendBapId);

// Encrypt private message for friend
const ciphertext = identity.encryptWithSeed("secret message", friendBapId);

// Decrypt message from friend
const plaintext = identity.decryptWithSeed(ciphertext, friendBapId);
```

A CLI is also available: `npm install -g bsv-bap` (see **`create-bap-identity`** skill).

## See Also

- `references/schemas.md` - Full schema reference
- [BitcoinSchema.org](https://bitcoinschema.org) - Protocol specs

Files in this skill

  • SKILL.md4.5 KB
  • lib/bmap-client.ts5.3 KB
  • lib/broadcast.ts2.7 KB
  • references/schemas.md2.2 KB
  • scripts/create-follow.ts2.5 KB
  • scripts/create-friend.ts3.5 KB
  • scripts/create-like.ts2.6 KB
  • scripts/create-message.ts3.6 KB
  • scripts/create-post.ts4 KB
  • scripts/create-reply.ts3.2 KB
  • scripts/create-repost.ts3.6 KB
  • scripts/read-follows.ts2.2 KB
  • scripts/read-friends.ts2.4 KB
  • scripts/read-likes.ts2.5 KB
  • scripts/read-messages.ts2.7 KB
  • scripts/read-posts.ts2.5 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…