or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Syncing
xxxxxxxxxx
ActivityPub ZCAPs
aka activityCaps
What?
Prior Art
TODO
activityCaps
namespace and baseUriSimple: sending a direct message
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →"Simple"
Assumptions:
https://bengo.is
ordid:web:bengo.is
activityCaps:act
activityCaps:post
did
URIs are only referenced viasameAs
relationships, and should only need to be handled by did-aware clients.New Terms
activitypub-capabilities:act
This is relation from an actor to the capability to act as the actor
activitypub-capabilities:post
This is relation from a resource to the capability that posts (sends) a message to the resource
Posting the message to the actor's outbox
GET https://bengo.is
GET https://bengo.is?capability=act
GET https://bengo.is/outbox
The outbox has a post capability, which is referenced from the outbox using the
activityCaps:post
relation.GET https://bengo.is/outbox?capability=post
The outbox has a post capability. Who can invoke it? Well, the actor whose inbox it is.
POST https://bengo.is/outbox
sans authorization
Request
Response
with authorization via zcap-ld
Request
.proof.creator
is a key uri which has a 'capabilityInvocation' [verification relationship] expressed in the DID Document found by resolving the diddid:web:bengo.is
. Remember, resolvinghttps://bengo.is
as JSON-LD shows aowl:sameAs
relationship todid:web:bengo.is
. i.e. we can follow fromhttps://bengo.is
ap:outbox
->https://bengo.is/outbox
activityCaps:post
->https://bengo.is/outbox?capability=post
zcap:invoker
->https://bengo.is
sameAs
->did:web:bengo.is
did:capabilityInvocation
->did:key:bengo-keys:0
(which is thecreator
of thezcap:proof
)Questions
Note
object in aCreate
activity. But I think AP requires the server to do that at some point anyway.Response
GET /urn:uuid:ad86eb2c-e9db-434a-beae-71b82120a8a4
This is the posted 'Create Note' activity.
Response
GET /notes/89c9b8aa-bb17-4b5d-8583-ad88fc2de3f6
Server-to-server Delivery
According to ActivityPub, Ben's server now wants to find a way of delivering this activity to dustycloud.org's server.
GET https://dustycloud.org
GET https://dustycloud.org/inbox
GET https://dustycloud.org/inbox?capabilities=post
delegationPolicy
is a relation I made up to describe the policy it will use to determine whether it will delegate to a potentialinvoker
POST https://dustycloud.org/inbox
Noteworthy
activityCaps:act
relation from the actorRequest to
https://dustycloud.org/inbox
Also considered:
Curating a photo collection
Rights amplification for reply control
Controlling who can send you messages
proof
of invocation ofactivityCaps:act
of actors that are in a set of actors controlled by 'you'?Managing a mailing-list like Group
Creating an Identifier
POST /identifiers
Request
Response
GET /identifiers/{uuid}
This is a did doc.
It's intended that
did:web:{host}:identifiers:{uuid}
resolves to this did doc. That may not be possible. The identifier may or may not support updates to its referent. If not, it may just be adid:key
.Response
Creating an Actor
POST /actors/
Request
Response
GET /actors/{did}
Response