CryptoverseCC / cryptopurr

CryptoPurr - Purrbook, Facebook For CryptoKitties
https://userfeeds.github.io/cryptopurr/
The Unlicense
9 stars 13 forks source link

Promoting Kitty avatars on home page #25

Closed gkapkowski closed 6 years ago

gkapkowski commented 6 years ago

THE-SIMPLEST-THING-EVER

The idea: we need to provide boxed monetization scheme for developers that fork cryptopurr interface. They need to have ability to start earning eth from day 1 after forking.

Add ability to Boost kitty avatar (not post or anything else, only avatars) This will show it at CryptoPurr home page at the top. The button to promote given cat should be visible on cats profile.

Something with this structure: promoted (^^ Patryk Help!)

mg6maciej commented 6 years ago

API: https://api-staging.userfeeds.io/ranking/experimental_boost;asset=ethereum;context=0xInterfaceOwnerEthereumAddress

{
    "items": [
        {
            "id": {internal identifier of kitty on cryptopurr},
            "score": 10000000000
        }
    ]
}

Returned items are sorted by score.

Suggested internal identifers (choose best):

Claim structure:

{
    "claim": {
        "target": {internal identifier of kitty on cryptopurr}
    }
}

Claim structure (for kitty pages, more about it in a comment from 16.05.2018):

{
    "type": ["about"],
    "claim": {
        "target": {internal identifier of kitty on cryptopurr},
        "about": "ethereum:0x06012c8cf97bead5deae237070f9587f8e7a266d:{kitty_id}"
    }
}

Contract (mainnet): 0x70B610F7072E742d4278eC55C02426Dbaaee388C

ABI:

[
    {
        "constant": false,
        "inputs": [
            {
                "name": "userfeed",
                "type": "address"
            },
            {
                "name": "data",
                "type": "string"
            }
        ],
        "name": "post",
        "outputs": [],
        "payable": true,
        "stateMutability": "payable",
        "type": "function"
    }
]

Send claim with predefined value (e.g. 0.001 ETH) or allow a few different values (0.001, 0.01, 0.1 ETH)

mg6maciej commented 6 years ago

@patrykadas Design?

Suggestion: only show top 6 profiles, because 6 is such a perfect number.

We'll need a place with a button (or 3) to boost given kitty, probably on profile page.

patrykadas commented 6 years ago

@gkapkowski @mg6maciej

  1. On the main feed I'd just include section like this with three kittens: 1_n

In the future I'd like to expand this tile with information about current state of kittie (siring / for sale)

However on mobile we can fit easily 2, I honestly think that it also shows the problems we are trying to solve and I'd like to keep it this way: mobile

  1. Boosting: 2_n

  2. After clicking 'show more' we go to /leaderboard: 3

  3. And button on kitten's profile

    screen shot 2018-04-26 at 15 06 42

mobilele

gkapkowski commented 6 years ago

@patrykadas

The Purrmoted should be above Purr your story. To not split the experience of posting/reading. Can we do smaller avatars that expand on mouse hover? I don't want this to take so much space by default.

:+1: for adding additional information later.

Side note: We can use this as use case for creation of universal boost button, that can be quickly added to any website.

patrykadas commented 6 years ago

cat-advertised 2x featured-mobile featured 2x flow 2x leaderboard-mobile 2x leaderboard 2x

@michalwarda

patrykadas commented 6 years ago

After @michalwarda feedback: flow 2x

mg6maciej commented 6 years ago

Configurable split payment contract:

// Rinkeby: 0x1f8A01833A0B083CCcd87fffEe50EF1D35621fD2
// Ropsten: 0x298611B2798d280910274C222A9dbDfBA914B058
// Kovan:   0x0c20Daa719Cd4fD73eAf23d2Cb687cD07d500E17

ABI:

[
    {
        "constant": false,
        "inputs": [
            {
                "name": "data",
                "type": "string"
            },
            {
                "name": "recipients",
                "type": "address[]"
            },
            {
                "name": "values",
                "type": "uint256[]"
            }
        ],
        "name": "post",
        "outputs": [],
        "payable": true,
        "stateMutability": "payable",
        "type": "function"
    }
]

Example promoting your cat of Barbossa (and main) page with 10% going to interface owner:

contract.methods
        .post(`{"type":["about"],"claim":{"target":"${someId}","about":"ethereum:0x06012c8cf97bead5deae237070f9587f8e7a266d:134330"}}`, ["${address of kitty owner}", "${interface creator}"], [web3.utils.toWei('0.001', 'ether') - web3.utils.toWei('0.001', 'ether') / 10, web3.utils.toWei('0.001', 'ether') / 10])
        .send({
          from,
          value: web3.utils.toWei('0.001', 'ether')
})
michalwarda commented 6 years ago

Done