Navigation About

bananachain

files:

bananachain.js

This is a stupid implementation bounded to the profile but managing the media-assets. Instead the blockchain has to be changed. To be divided split into parts

clearview.jsonc

early prototype of a dataset, lookalike populated with some fake data

bananachain.jsonc

more advanced mockup of a dataset with the implementation of the three chains

  1. profile
    the changes of the profile with the steps
    • register name, birthday, email, protected status
    • address location
    • about me annotation
    • verification stati
    • apikey management actions
    • profile image upload and changes
    • etc.
  2. profile collection
    what does the user own and only theses media
    the collection wallet - sore when:
    • delete an entry of a media whenever the ownership has been tranferred to someone else
    • add media
      • when uploaded by the profile/owner
      • when media ownership is transferred to this profile but do not forget to add this in the history of the media → causes a change in the media chains
  3. media
    aka mediachain
    contains for each media a subchain which is the protocol of all changes like
    • history (exhibition, changes, protocol of happening, …)
    • transfer of ownership
    • price
    • status protected/public/visible
    • preview images
    • …?

stakeholder verification transfer and chains of media. user/profile/author
stakeholder verfication transfer and chains of media. user/profile/author

the three chains for profile, collection, media(subchains)
the three chains for profile, collection, media(subchains)

 
following attributes are unchangeable immutable
author, authorkey
license, contract depending on the license
natural rights are and must be granted
dated, title, material, dimension, mediatype, digital, physical
might be changed with a verified curation review process
or simply by the author as long as the ownership is not
transferred
 

fake example json

{
"profile":
    {
        "datachain": [
            {
                /*
                the genesis object encrypted
                the data is prename, surname, birthday(year,month,day),protected(true|false),email aka the register data
                */
                "previousHash" : "",
                "hash": "2a3b4b556fcDdsghJkqweEasS8901a9b8c0d1e2HZuf34f5e6d7c0987b65a54123Aa==", //is this the public key for images?
                "index": 0,
                "nonce": "ADf91DfretzUqw28917==",
                "timestamp": "2021-12-11 01:00:59 1234" //utc date string
            }, {
                /*
                adding address data
                */
                "previousHash" : "2a3b4b556fcDdsghJkqweEasS8901a9b8c0d1e2HZuf34f5e6d7c0987b65a54123Aa==",
                "hash": "d2a3b4b556fcDdsghJkqweEasS8901a9b8c0dq41e2HZuf34f5e6d7c0987b65a54123x",
                "index": 1,
                "nonce": "ADf91DfretzUqwrt28917",
                "timestamp": "2021-12-12 03:34:29 5678" //utc date string
            },
            {
                /*email, password, address changes, verification steps, other profile data*/
            }
        ],
        "data":
        {
            /*thats what we read and show public*/
            "id": "1637069100097",
            "created": 1637069100097,
            "password": "db6add538931ef1bf2f84923771bcfdd7a6b167415a8cb4b93e4f92b62c0807d",
            "email": "world@world.com",
            "prename": "hello",
            "surname": "world",
            "brithday": {
                "year": "1965",
                "month": "1",
                "day": "9"
            },
            "location": {
                "plz": "",
                "city": "",
                "street": "",
                "housenumber": "",
                "state": "",
                "country": "",
                "additional": ""
            },
            "protected": "false",
            "verified": false,
            "verificationcode": "",
            "verificationdata": [],
            "profilekey": "",
            "apikey": "",
            "aboutme": "",
            "profileimage": "",
            "following": [
                "1637074477894"
            ],
            "follower": [],
            "updated": 1637269119781,
            "session": "MzY0OTg4MF8zMTM2MzMzNzMyMzYzOTMxMzEzOTM3MzczNw=="// this not?
        },
        "collection" : [/*the ids of images uploaded and collected*/"1636732647079"],
        "collectionchain" : [{/*initial upload*/
            "hash": "MMyMzYzOTMxMzEzOTM3MzczNwzY0OTg4MF8zMTM2MzMzNz==", //hash of the collection data (json string)
            "previousHash": "",
            "index": 0,
            "mediaid": "1636732647079",
            "nonce": "zui91DfretzUqwrt2070o",
            "timestamp": "2021-12-11 05:15:12 1789" //utc date string
            }]
    },
    "mediachain": [{"mediaid":"1636732647079", "chain":[
        {
            "hash": "MMyMzYzOTMxMzEzOTM3MzczNwzY0OTg4MF8zMTM2MzMzNz==", //
            "previousHash": "",
            "index": 0,
            "mediaid": "1636732647079",
            "nonce": "zui91DfretzUqwrt2070o",
            "timestamp": "2021-12-11 05:15:12 1789" //utc date string
        }, {
            /*whenever changed, updated or owner*/
        }
    ]},{/*other media*/}],
    "media" : [
        {
            "id": "1636732647079",
            "updated": 1637166274606,
            "type": "image",
            "protected": false,
            "owner": "1637074477894",
            "created": 1636732647079,//this si the timestamp of the upload
            "annotations": {
                /*
        "authorname": "pre and surename or artist/groupname",
        "authorkey": "",
        "dated": "",
        "title": "",
        "description": "",
        "dimension": { "width": "", "height": "", "depth": "", "unit": "cm|px|none" },
        "price": { "amount": "", "unit": "Euro|Credits|none" },
        "licence": "immutable",
        "material": ["list", "of", "posible", "materials"],
        "mediatype": "image,video,code,review,3dasset, etc.",
        "forsale": true,
        "protected": false,
        "digital": true,
        "physical": false,
        "contract": "link to the contract involves the immutable licence",
        "previewimage": ["link to the 512x512px preview","max 4 images", "or one small mp4 video"]
                */
            } /*this might change*/
        },
        {
            "id": "1636733761951",
            "updated": 1637166274610,
            "type": "image",
            "protected": false,
            "owner": "1637074477894",
            "created": 1636733761951,
            "annotations": {
                "title": "blabla no.1",
                "authorname": "vault wallet",
                "authorkey": "1637074450178",
                "previewimages": ["/media/X_MTYzNjczMzc2MTg1OA__.png"]
            }
        }
    ]
}

bananachain

files:

bananachain.js

This is a stupid implementation bounded to the profile but managing the media-assets. Instead the blockchain has to be changed. To be divided splited into parts

clearview.jsonc

early prototype of a dataset, lookalike populated with some fake data

bananachain.jsonc

more advanced mockup of a dataset with the implementation of the three chains

  1. profile
    the changes of the profile with the steps
    • register name, birthday, email, protected status
    • address location
    • about me annotation
    • verification stati
    • apikey managment actions
    • profile image upload and changes
    • etc.
  2. profile collection
    what does the user own and only theses media
    the collection wallet - sore when:
    • delete an entry of a media whenever the ownership has been tranfered to someone else
    • add media
      • when uploaded by the profile/owner
      • when media ownership is transfered to this profile but do not forget to add this in the history of the media → causes a change in the media chains
  3. media
    aka mediachain
    contains for each media a subchain which is the protocol of all changes like
    • history (exhibition, changes, protocol of happening, …)
    • transfer of ownership
    • price
    • status protected/public/visible
    • preview images
    • …?

steakholder verfication transfer and chains of medi. user/profile/author
steakholder verfication transfer and chains of medi. user/profile/author

the three chains for profile, collection, media(subchains)
the three chains for profile, collection, media(subchains)

 
following attributes are unchangeable immutable
author, authorkey
license, contract depending on the license
natural rights are and must be granted
dated, title, material, dimension, mediatype, digital, physical
might be changed with a verified curatial review process
or simply by the author as long as the ownership is not
transfered
 

fake example json

{
"profile":
    {
        "datachain": [
            {
                /*
                the genesis object encrypted
                the data is prename, surname, birthday(year,month,day),protected(true|false),email aka the register data
                */
                "previousHash" : "",
                "hash": "2a3b4b556fcDdsghJkqweEasS8901a9b8c0d1e2HZuf34f5e6d7c0987b65a54123Aa==", //is this the public key for images?
                "index": 0,
                "nonce": "ADf91DfretzUqw28917==",
                "timestamp": "2021-12-11 01:00:59 1234" //utc date string
            }, {
                /*
                adding address data
                */
                "previousHash" : "2a3b4b556fcDdsghJkqweEasS8901a9b8c0d1e2HZuf34f5e6d7c0987b65a54123Aa==",
                "hash": "d2a3b4b556fcDdsghJkqweEasS8901a9b8c0dq41e2HZuf34f5e6d7c0987b65a54123x",
                "index": 1,
                "nonce": "ADf91DfretzUqwrt28917",
                "timestamp": "2021-12-12 03:34:29 5678" //utc date string
            },
            {
                /*email, password, address changes, verification steps, other profile data*/
            }
        ],
        "data":
        {
            /*thats what we read and show public*/
            "id": "1637069100097",
            "created": 1637069100097,
            "password": "db6add538931ef1bf2f84923771bcfdd7a6b167415a8cb4b93e4f92b62c0807d",
            "email": "world@world.com",
            "prename": "hello",
            "surname": "world",
            "brithday": {
                "year": "1965",
                "month": "1",
                "day": "9"
            },
            "location": {
                "plz": "",
                "city": "",
                "street": "",
                "housenumber": "",
                "state": "",
                "country": "",
                "additional": ""
            },
            "protected": "false",
            "verified": false,
            "verificationcode": "",
            "verificationdata": [],
            "profilekey": "",
            "apikey": "",
            "aboutme": "",
            "profileimage": "",
            "following": [
                "1637074477894"
            ],
            "follower": [],
            "updated": 1637269119781,
            "session": "MzY0OTg4MF8zMTM2MzMzNzMyMzYzOTMxMzEzOTM3MzczNw=="// this not?
        },
        "collection" : [/*the ids of images uploaded and collected*/"1636732647079"],
        "collectionchain" : [{/*initial upload*/
            "hash": "MMyMzYzOTMxMzEzOTM3MzczNwzY0OTg4MF8zMTM2MzMzNz==", //hash of the collection data (json string)
            "previousHash": "",
            "index": 0,
            "mediaid": "1636732647079",
            "nonce": "zui91DfretzUqwrt2070o",
            "timestamp": "2021-12-11 05:15:12 1789" //utc date string
            }]
    },
    "mediachain": [{"mediaid":"1636732647079", "chain":[
        {
            "hash": "MMyMzYzOTMxMzEzOTM3MzczNwzY0OTg4MF8zMTM2MzMzNz==", //
            "previousHash": "",
            "index": 0,
            "mediaid": "1636732647079",
            "nonce": "zui91DfretzUqwrt2070o",
            "timestamp": "2021-12-11 05:15:12 1789" //utc date string
        }, {
            /*whenever changed, updated or owner*/
        }
    ]},{/*other media*/}],
    "media" : [
        {
            "id": "1636732647079",
            "updated": 1637166274606,
            "type": "image",
            "protected": false,
            "owner": "1637074477894",
            "created": 1636732647079,//this si the timestamp of the upload
            "annotations": {
                /*
        "authorname": "pre and surename or artist/groupname",
        "authorkey": "",
        "dated": "",
        "title": "",
        "description": "",
        "dimension": { "width": "", "height": "", "depth": "", "unit": "cm|px|none" },
        "price": { "amount": "", "unit": "Euro|Credits|none" },
        "licence": "immutable",
        "material": ["list", "of", "posible", "materials"],
        "mediatype": "image,video,code,review,3dasset, etc.",
        "forsale": true,
        "protected": false,
        "digital": true,
        "physical": false,
        "contract": "link to the contract involves the immutable licence",
        "previewimage": ["link to the 512x512px preview","max 4 images", "or one small mp4 video"]
                */
            } /*this might change*/
        },
        {
            "id": "1636733761951",
            "updated": 1637166274610,
            "type": "image",
            "protected": false,
            "owner": "1637074477894",
            "created": 1636733761951,
            "annotations": {
                "title": "blabla no.1",
                "authorname": "vault wallet",
                "authorkey": "1637074450178",
                "previewimages": ["/media/X_MTYzNjczMzc2MTg1OA__.png"]
            }
        }
    ]
}

dapp, D-APP iD-APP and DAO

Decentralized apps, on a blockchain bound by a crypto(currency)chain like Bitcoin,
with partial ai, or with smart contracts and a social idea, like voting saved and
secured by a blockchain like Ethereum.

Smart Contract

A program saved, preformed and secured on and by a blockchain. The program rules and circumstance
an operation can be performed on that blockchain like a transaction on Ethereum.

IPFS

Inter Planetary File System - a peer to peer database.
A peer-to-peer hypermedia protocol designed to preserve and grow humanity’s knowledge
by making the web upgradeable, resilient, and more open.

concept

Blockchain build to store data, the media/images, user profiles and roles, the transactions
and the verifications. In javascript, because even Solidity runs on the V8 vm aka node and the browsers.
Using IPFS to transfer and store the data, distributed nodes of the software able to run on servers/pcs
and client browsers.

Digital originals should be stored in trusted save vaults.
4players video/audio chat for communication and better digital experience. VR/AR/XR multiverse tech based on three.js, basically a-frame for easy integration.

##First goal: create own playable prototype sandbox Dao-Dapp for public alpha &arr; beta with real NIM.##

Navigation Blockchain Greypaper Banana Project
games chain thoughts