mirror of
https://github.com/nostr-protocol/nips.git
synced 2024-11-09 22:09:06 -05:00
Create 100.md
This commit is contained in:
parent
98d7f1cd9c
commit
ce26bb09bf
183
100.md
Normal file
183
100.md
Normal file
|
@ -0,0 +1,183 @@
|
|||
# NIP-100
|
||||
|
||||
|
||||
## NOSTR Decentralized Advertising Network (NOSTR-DAN)
|
||||
-------------------
|
||||
`draf` `optional`
|
||||
|
||||
This NIP defines the `kind:20100`: a parameterized event dispatched to a listener or pool of listeners to offer space for advertising,
|
||||
a listener can answer accepting the offer and contracting the space.
|
||||
|
||||
## Motivation
|
||||
-------------------
|
||||
Most of the digital social networks are based on data-driven advertising, then NOSTR-based applications can also
|
||||
take competitive advantages learning it from industry to improve earnings in the NOSTR ecossystem.
|
||||
|
||||
## Problem
|
||||
-------------------
|
||||
Using the centralized adversting networking is staying in hand of the big companies.
|
||||
|
||||
## Solution
|
||||
-------------------
|
||||
The implementation of the NOSTR Decentralized Advertising Network (NOSTR-DAN) allows the NOSTR-based applications
|
||||
implement features to display ads to the users and distribute ads to the pool of partners.
|
||||
|
||||
## Competitive Advantages for Stakeholders
|
||||
-------------------
|
||||
| stakeholder | advantage |
|
||||
| ----------- | ----------|
|
||||
| investors and entrepreuners | profitable feature |
|
||||
| content creators | profitable feature |
|
||||
| tech professionals | new profitable industry, new NOSTR-jobs |
|
||||
|
||||
## Properties
|
||||
|
||||
| Property | Help |
|
||||
| ---------| ---------|
|
||||
|`action` | `start-offer`, `assign-offer`, `paid`, `cancel-offer`|
|
||||
| `offer` | offer identity {`pubkey`, `created_at`, `created_at`, `expires_at`, `tags`, `description`}|
|
||||
| `schema` | Accepted data schemas for the ad be displayed (example: https://schema.org/LocalBusiness), each pool can define your own custom schema |
|
||||
| `schemaName` | What schema is being used to structure the ad |
|
||||
|`cluster`| Marketing parameters about the audience cluster that will see the ad |
|
||||
| `transaction`| Conditions to contract and pay the offer |
|
||||
| `whitelist` | List of wallets that can contract and pay for this offer |
|
||||
| `bannedlist` | List of wallets that CANNOT contract this offer |
|
||||
|
||||
|
||||
## Schemas
|
||||
|
||||
The concept of schema is based on the https://schema.org/LocalBusiness to offer more freedom to pools and communities decide how to delivery your ads, because ads can have custom properties according to the industry and products/services evolutions.
|
||||
|
||||
## Example of usage
|
||||
|
||||
- The client dispatch the event to the pool offering space to advertisers
|
||||
- The listeners (advertisers) understand the event and decide if contract or not the space
|
||||
|
||||
### Dispatched Event (Request Body)
|
||||
|
||||
The application send an event offering space to advertisers
|
||||
|
||||
```json
|
||||
{
|
||||
"kind": 20100,
|
||||
"action": "start-offer",
|
||||
"schema": [env.POOL.SCHEMA],
|
||||
"offer": {
|
||||
"pubkey": env.MYPUBKEY,
|
||||
"created_at": 1704012878,
|
||||
"expires_at": 1704016478,
|
||||
"tag": env.TAG,
|
||||
"description": "Announce your ecommerce on www.example.com"
|
||||
},
|
||||
"cluster":
|
||||
{
|
||||
"userAgent": env.WEBBROWSER.DESKTOP.[FIREFOX | CHROME | EDGE | ...],
|
||||
"country": env.COUNTRY,
|
||||
},
|
||||
"transaction":
|
||||
{
|
||||
"paymentModel": "prepaid",
|
||||
"price":
|
||||
{
|
||||
"btc": {
|
||||
"min": 0.0001
|
||||
},
|
||||
"eth": {
|
||||
"min": 0.001
|
||||
}
|
||||
},
|
||||
"conditions":
|
||||
{
|
||||
"maxViews": 100,
|
||||
"maxHours": 24,
|
||||
"formats": ["image/png,jpg,gif", "text/html,plain", ...]
|
||||
...another properties about the conditions (specified by Schema)
|
||||
}
|
||||
},
|
||||
"whitelist":[env.LISTERNER.wallet.address],
|
||||
"bannedlist":[env.LISTERNER.wallet.wallet.address]
|
||||
}
|
||||
```
|
||||
|
||||
### Listener contracted the space to display ad
|
||||
|
||||
The advertiser (listener) decided to contract the space to display the ad,
|
||||
then answer with:
|
||||
|
||||
```json
|
||||
{
|
||||
"kind": 20100,
|
||||
"action": "assign-offer",
|
||||
"assign_at": "1704012879",
|
||||
"cancel_at": "1704012880",
|
||||
"offer": {
|
||||
"pubkey": env.PUBKEY,
|
||||
"created_at": 1704012878,
|
||||
"expires_at": 1704016478,
|
||||
"tag": env.TAG
|
||||
},
|
||||
"transaction": {
|
||||
"currency": "btc",
|
||||
"amount": 0.0001,
|
||||
"wallet": env.MYWALLET.address
|
||||
},
|
||||
"schema":{
|
||||
"schemaName": env.POOL.SCHEMA,
|
||||
"properties": {
|
||||
"format": "text/html",
|
||||
"content": "",
|
||||
...custom community schema of properties (specified by Schema)
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Client accepts contract and answer with wallet
|
||||
|
||||
```json
|
||||
{
|
||||
"kind": 20100,
|
||||
"action": "assign-offer",
|
||||
"assign_at": "1704012879",
|
||||
"cancel_at": "1704012880",
|
||||
"offer": {
|
||||
"pubkey": env.PUBKEY,
|
||||
"created_at": 1704012878,
|
||||
"expires_at": 1704016478,
|
||||
"tag": env.TAG
|
||||
},
|
||||
"transaction": {
|
||||
"wallet": env.MYWALLET.address
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
### Listener (Advertiser) announces payment
|
||||
```json
|
||||
{
|
||||
"kind": 20100,
|
||||
"action": "paid",
|
||||
"paid_at": "1704012879",
|
||||
"offer": {
|
||||
"pubkey": env.PUBKEY,
|
||||
"created_at": 1704012878,
|
||||
"expires_at": 1704016478,
|
||||
"tag": env.TAG
|
||||
},
|
||||
"transaction": {
|
||||
"wallet": env.MYWALLET.address
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
## REVIEW
|
||||
|
||||
- NOSTR-DAN needs only to members to work:
|
||||
- The client that offers spaces to the advertisers
|
||||
- The listeners (advertisers) that contract the spaces to advertise
|
||||
- NOSTR-DAN community can create custom schemas for your ads, allowing the dynamic communication required by competitive industries and unpredictable market changes
|
||||
- Members of the NOSTR-DAN can apply the whitelist and bannedlist to filter ads
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user