Skip to content

embiimob/Sup

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sup!?

experimental decentralized state engine

Sup!? (satoshi universal protocol) demonstrates fully trustless, censorship free, social media with private messaging, file sharing, DAO voting, website publishing and tradeable blockchain objects.

This experiment is using an ancient blockchain protocol called P2FK (Pay to Future Key) invented by http:https://HugPuddle.org in 2013.

P2FK was directly inspired by the satoshi uploader see --> https://cirosantilli.com/satoshi-uploader

Installation

  1. Download Supv0.7.3-beta.zip ( https://github.com/embiimob/Sup/releases/download/Supv0.7.3-beta/Supv0.7.3-beta.zip )
  2. Create a folder on your fastest disk drive with at least 80GB free (it will be storing the bitcoin testnet blockchain)
  3. Unzip all contents into the folder
  4. Run SUP.exe

You will need to sync a blockchain to perform your first Sup!? search

  1. Click the key 🗝️ button
  2. Launch a full bitcoin testnet node by clicking the top launch button
  3. Launch IPFS using the button provided "enable IPFS daemon"
  4. Wait until testnet is fully synced. ( this part will take several hours )
  5. Type #flowersofwar in the main search box and hit enter


NOTICE

Sup!? is an experimental tool made by adults for #adults. Sup!? is not suitable for children.

MAINNET - TESTNET TOGGLE

Click the bitcoin logo in the bottom left of the screen to switch all Sup!? functions between bitcoin testnet (🍏 GREEN) and bitcoin mainnet (🍊 ORANGE). Both blockchains must be fully synched to use this feature.

Public / Private Messaging / Social / #Keyword Search / GIF Selector / Walkie Talkie / Paper Messaging / Token Gated Polls ⁉️ / Likes ❤️

The disco ball has dropped you can now send direct public and private messages using Sup!?, the bitcoin testnet and #IPFS. Search for your own profile in the object browser to login with your local account. Search for additional profiles and add them as friends by clicking the follow button. Click on a friend's icon to show their latest public messages. Click on the community icon to see a combination of all your friends posts in a single feed in the order that they were confirmed on the blockchain. Sup!? search also now finds and displays all public messages by #keyword. Click on the 📢 to send the profile you are currently browsing a public message. Left Click the ❤️ found on any social thread item and it will prepopulate a message dialogue with the correct addresses to create a like. add a message and or attachments and click on the 📢 to transmit the like. right click the ❤️ and it will show all associated likes and comments. Click on the 🤐 before clicking on the 📢 to send the profile you are currently browsing a private message. Click the GIF button to search through a growing collection of Gifs etched into the blockchain by other Sup!? users. Click and hold the new audio record button and your audio message will be delivered immediately after letting go of the record button ( if walkie talkie mode is enabled in the connection screen ). Click the ⁉️ Button and the Inquiry minting window will appear. fill out the question , multiple answers and add optional token gate. Select a time period and if signatures are required. Hit attach and your poll will be included with your message. Recipients can vote on a inquiry by clicking the answer's corresponding vote buttons. Click the 💌 button and a printable QR CODE will be generated containing the public or encrypted message that can be sent to the recipient by standard US MAIL. (a mobile decoder app is in development)
Search for your own profile and click on the 🤐 icon to see any private messages sent to it.

NOTE: all attachments in your private messages are encrypted using the recipients public keys before they are uploaded to IPFS for delivery.

JukeBox 🎵

Click the new 🎵 and the currently active profile will be searched for mp3 and wav files, if found they will be displayed in an ordered list and played one after the other. You can also perform #Keyword searches and all audio files found at that #keyword will be displayed. it is also possible to search by profile urn or address. click on any link to skip to it. scroll to load additional audio clips.
search for experimental to hear a registered collection of 2007 - 2009 embii audio experiments.

SupFlix 🎬

Click the new 🎬 and the currently active profile will be searched for mp4 and avi files, if found they will be displayed in an ordered list. Click on the link below each video preview window to watch it in full screen mode. You can also perform #Keyword searches and all video files found at that #keyword will be displayed and played. it is also possible to search by profile urn or address. scroll to load additional video cliips.
search for boxpoem to see a registered collection of 2021 embii video box poems recently delisted by OpenSea

Profile Minting / Editing

Click the mint button and select the profile mint button. Enter a urn and a profile address or click the diamond button to generate a new profile address. if a urn is already claimed it will be loaded for your review. These two fields are all that are required to register a profile urn. You may optionally enter a PFP image url, your full name and suffix, web links, contact information and keywords. NOTE: Every profile becomes an entry point for which private messages may be delivered as every profile displays public keys to be used for Secp256k1 encrypted messaging.

Once you are satisfied with your profile information. click mint. Your profile will take effect following a successful confirmation of the transaction.
To edit a profile, click on the magnifying glass and enter the profile address to edit. If a profile is found at the address, Sup!? will build and display it on the screen. Modifying any of the fields will cause the corresponding fields' modified indicator to turn blue. Remove any data that is not being updated from the transaction by clicking its corresponding button until it is not blue. Click mint when you have completed making updates. Your changes will take effect following a successful confirmation of the transaction.
Your profile urn registration is valid for 3 years past the last change date. This means that in order for your profile to expire, there must not be a single change transaction placed to its holding address for a period of 3 years. Should this occur, the urn registration will be claimed by the next available registration that falls under the same time restriction. If no claims exist, the profile will no longer be discoverable and can be claimed by anyone.

Object Minting with Royalties / Printing / Editing / Batch Burning / Batch Giving

Click the mint button and select the object mint button. Enter an object name, object address, owner address(s) with qty and a urn. if a urn is already claimed you will be warned and it will be loaded for your review. These fields are required. Click mint. If no creator address is entered, the object will be self-signed using a new address generated at your minting station wallet. To further enhance your collector's experience, a profile can be setup on a collection address and the collection address can be added as a creator. Now, both the collection shortname name and the creator short name will be discoverable in the browser. Searching for the creator shortname returns all objects. Searching for the collection shortname returns just the collection. in preparation for the future BUY and LST transaction types, royalties can now be defined in the object mint screen. up to 100% of all future sales royalties can be claimed on the roy tab and theoretically divided in to 1000s of recipient addresses in a single p2fk transaction.
Click print instead of mint and you can use a paper transaction alone to prove ownership. Any person can scan a paper mint & send a small confirmation transaction to the addresses within the QR code printed on the paper to make the paper transaction public. A Sup!? paper transaction can be used in lieu of a public confirmation as it contains all the necessary signature and transaction data necessary to confirm it against a current scan of the object address it is associated with. (a mobile decoder app is in development)
To edit an unlocked object, click on the magnifying glass and enter the object address to edit. If an object is found, Sup!? will build and display the object it represents on screen. Modifying any of the fields will cause the corresponding fields' modified indicator to turn blue.. Click mint Or print when you have completed making updates and your changes will take effect following a successful confirmation of the transaction.

Object Listing / Offering / Buying with in memory pending transaction monitoring

The Sup!? experiment now offers trustless, service fee free marketplaces for all p2fk based Sup!? objects. Click on the ⚡️ icon found on the object details screen to open it's new live market window. all Current listings and non refundable offers will be displayed. double click on the listing and offer labels to refresh the lists. All in memory transactions will be searched and anything related to the object will be displayed ( LST, BUY and GIV transactions ). following this initial search all new transactions will be displayed within 5 seconds of being broadcast on the blockchain. in memory transactions will disappear from the live monitoring list within 5 seconds of the first confirmation. add a signature address to the Signature address field and enter the qty and each cost and the owner address to buy from if buying. click either the BUY or LIST buttons depending on your desired function. a cost estimate is displayed. Click on the Buy Or List buttons again to complete the transaction. you will be prompted to confirm.

BUY transactions that do not correspond to any current listing will instead create a non refundable offer. to close an offer the current owner can send any qty of the object to the requestor via a GIV transaction. An offer can be closed without giving anything to the requestors by sending a qty of 0. (the closing function can be done in bulk across multiple objects via a single bulk GIV transaction)

Live Monitor

Click the live button and watch in real-time as other Sup!? users mint their objects and compose public messages. All new objects and messages will be added to the top of your browser window pushing the older objects and messages down the screen. A maximized Sup!? monitor that shows a constant stream of new objects and messages makes for a great display. Sup!? monitors the in-memory pool allowing it to display new objects before they are confirmed in the blockchain. Your Sup!? objects and messages will appear in every currently live Sup!? monitor around the world in about 10 - 30 seconds after you have etched the metadata. All blockchains included with this experiment are monitored for new objects and messages if they are running and fully synced.

private messages are delivered to the active profile if the private panel is active. private message audio is not auto played during live monitoring sessions.

With live monitoring enabled, you never know what might pop into the window! You can delete one directly from the live preview panel by clicking on the object's small trash icon. This will #attempt to remove all traces of it from your system. you can block and mute accounts by address. consider checking the filter live postings check box. this will filter live messages allowing only transactions signed by people on your friends list from being displayed on the live feed. If you are concerned about files remaining on your PC Click the purge Root button and click the purge ipfs button.

Consider running a separate instance of Sup!? in it's own folder for live monitoring. You can then easily clear the caches in the live monitoring folder without effecting your overall Sup!? browsing cache. Launch the blockchain from your normal folder and just run Sup!? live from your second folder.. both instances of Sup!? will communicate to any Sup!? launched local blockchain without any problems.

Official / Unofficial Registration Indicator

When a Sup!? urn is registered, a small symbol appears on the top left corner of the object's thumbnail on the main browser screen, replacing the urn label on the object details screen. Following registration, any other Sup!? objects referencing the same urn will display a [ SEE OFFICIAL ] button that redirects them to the officially registered urn. The unofficial urn reference can still be opened by clicking anywhere else on the object.


File Lookup

Drag and drop any file onto the main Sup!? browser screen. Sup!? will search the mainchain for a current file registration with an owner. If found, the registered object will be returned in the main browser window. All URN's with valid file paths at the time of registration are automatically registered for Sup!? file lookup.

Block \ Mute \ 🗑️

Blocking addresses ignores any associations to them going forward, preventing a transaction or any transactions signed by the blocked address from outputting to disk. A purge and reinspection is required to completely eliminate all data. If a group of collectors decides to block an address, they can technically ignore them out of existence.
Muting an address prevents any further transaction comments signed by the address from outputting onto a disk. A purge and reinspection is required to completely eliminate all transaction comments.
clicking the 🗑️ icon found in message and object search results deletes them from disk including any thumbnails or attachments they may have been displaying at the time. it also places a null transaction record into the cache to prevent the object or message from outputting onto a disk in the future.

IPFS website publishing

To publish your complete websites with folder structure as an object, you must zip your entire website into a single file called index.zip. The index.zip file must contain a launching page named index.html or this feature will not work. Attach the index.zip file to an object using the URN button on the object minting screen. the URN button will automatically upload and pin your website to IPFS if the daemon is enabled.

Web applet querystring data with transaction id and unique genid hash for html based generative objects

All trusted index.html and index.htm files are sent the following Sup!? object information via querystring on load: "address=", "creator=", "viewer=", "viewername=", "owner=", "ownername=", "urn=", "uri=", "url=", "height=", "transactionid=", "genid="
genid= is unique per claimed primary object unit. due to this, genid can be used to create an unlimited amount of unique generative art mints. every unit collected from the primary pool receives a unique genid hash that follows it through each secondary trade. this allows your generative works to be traded and still generate the same work based on the hash that was assigned to the unit during the minting process. NOTE: if you wish to maintain a unique 1/1 count of your Sup!? based generative works, be sure to set MAX = 1 when you mint the primary object.

Search Exanples

muVrFVk3ErfrnmWosLF4WixxRtDKfMx9bs

searches mainchain - bitcoin testnet by address returns all object associations and the associated profile

6d14b0dc526a431f611f16f29d684f73e6b01f0a59a0b7b3d9b8d951091c2422/index.html

searches mainchain - bitcoin testnet by transaction id returns referenced index.htm(l) in browser

BTC:0618f12af65a4e82f8e7b41f8578721dfeb109e9a73ff71aebdbc982696e3720/index.html

searches sidechain - bitcoin production by transaction id returns referenced index.htm(l) in browser

MZC:4dbb0e984586d1994f461c419c460edf7ecf15488a8b11282f19cec9aa7ec285/index.html?viewer=embii4u

searches sidechain - mazacoin production by transaction id returns referenced index.htm(l) in browser

#CaseSensitiveKeyword

searches mainchain for up to a 20 character case sensitive keyword and shows all public message and object associations

@UserName

searches mainchain by urn - shows currently registered profile object links associated with @username and shows all object associations. profile registrations are transferable and expire after 3 years of no activity allowing them to be claimed by other registrants in the future.

ipfs:https://QmU42aLJToYmshwJu26iprH9RsX6SfJDw3FTf6senJEdF1

performs a ipfs get, archives ipfs file(s) locally, pins file(s) if pinning is enabled, and opens a system folder diolouge allowing you to explore any files found

sup:https://twitter.com

searches mainchain by urn - shows currently registered object with uri redirection. if uri redirection is a web url it will be opened in the default web browser. urn registrations are transferable and expire after 3 years of inactivity allowing them to be claimed by other registrants in the future. ( there are no urn character limits)

http(s):https://embii.org

navigates to requested url in browser.

Command Line Interface

get root by transaction id: SUP.EXE --versionbyte 111 --getrootbytransactionid --password better-password --url http:https://127.0.0.1:18332 --tid 6d14b0dc526a431f611f16f29d684f73e6b01f0a59a0b7b3d9b8d951091c2422 --username good-user --verbose

get roots by address:
SUP.EXE --address muVrFVk3ErfrnmWosLF4WixxRtDKfMx9bs --versionbyte 111 --getrootsbyaddress --password better-password --url http:https://127.0.0.1:18332 --username good-user --verbose

get public address by keyword:
SUP.EXE --versionbyte 111 --getpublicaddressbykeyword --keyword "20 BYTE ASCII STRING"

get keyword by public address:
SUP.EXE --address mmw6JJrmsEZ1bwyVPKvfRFwpoJ62nJJCsV --getkeywordbypublicaddress

get object by address:
SUP.EXE --address muVrFVk3ErfrnmWosLF4WixxRtDKfMx9bs --versionbyte 111 --getobjectbyaddress --password better-password --url http:https://127.0.0.1:18332 --username good-user --verbose

get object by transaction id:
SUP.EXE --tid 69ae3a76a9de22ffad7bfb9249824512fc38e01d82e2010877ead179b50f0f77 --versionbyte 111 --getobjectbytransactionid --password better-password --url http:https://127.0.0.1:18332 --username good-user

get object owner by urn registration:
SUP.EXE --versionbyte 111 --getobjectbyurn --password better-password --url https://127.0.0.1:18332 --username good-user --urn twitter.com

get object owner by file :
SUP.EXE --versionbyte 111 --filepath C:\folder\test.jpg --getobjectbyfile --password better-password --url http:https://127.0.0.1:18332 --username good-user

get objects by address:
SUP.EXE --address muVrFVk3ErfrnmWosLF4WixxRtDKfMx9bs --versionbyte 111 --getobjectsbyaddress --password better-password --url http:https://127.0.0.1:18332 --username good-user --skip 0 --qty -1 --verbose

get objects owned by address:
SUP.EXE --address muVrFVk3ErfrnmWosLF4WixxRtDKfMx9bs --versionbyte 111 --getobjectsownedbyaddress --password better-password --url http:https://127.0.0.1:18332 --username good-user --skip 0 --qty -1

get objects created by address:
SUP.EXE --address muVrFVk3ErfrnmWosLF4WixxRtDKfMx9bs --versionbyte 111 --getobjectscreatedbyaddress --password better-password --url http:https://127.0.0.1:18332 --username good-user --skip 0 --qty -1

get objects by keyword:
SUP.EXE --versionbyte 111 --getobjectsbykeyword --keyword flowersofwar --password better-password --url http:https://127.0.0.1:18332 --username good-user --skip 0 --qty -1

get found objects:
SUP.EXE --versionbyte 111 --getfoundobjects --password better-password --skip 0 --qty -1 --url http:https://127.0.0.1:18332 --username good-user

get keywords by address:
SUP.EXE --address mwJDUTXksGKUmU3z9nKeMvnjNnWjEXj5rW --versionbyte 111 --getkeywordsbyaddress --password better-password --url http:https://127.0.0.1:18332 --username good-user

get public messages by address:
SUP.EXE --address muVrFVk3ErfrnmWosLF4WixxRtDKfMx9bs --versionbyte 111 --getpublicmessagesbyaddress --password better-password --skip 0 --qty 10 --url http:https://127.0.0.1:18332 --username good-user

get private messages by address:
SUP.EXE --address muVrFVk3ErfrnmWosLF4WixxRtDKfMx9bs --versionbyte 111 --getprivatemessagesbyaddress --password better-password --skip 0 --qty 10 --url http:https://127.0.0.1:18332 --username good-user

get public keys by address:
SUP.EXE --address muVrFVk3ErfrnmWosLF4WixxRtDKfMx9bs --getpublickeysbyaddress --password better-password --url http:https://127.0.0.1:18332 --username good-user

get profile by address:
SUP.EXE --address muVrFVk3ErfrnmWosLF4WixxRtDKfMx9bs --versionbyte 111 --getprofilebyaddress --password better-password --url http:https://127.0.0.1:18332 --username good-user

get profile by urn:
SUP.EXE --versionbyte 111 --getprofilebyurn --password better-password --url http:https://127.0.0.1:18332 --username good-user --urn embii4u

get inquiry by address:
SUP.EXE --address mqjT2e9zzYia9ndiwcT3Xwi4FvED4gw3Da --versionbyte 111 --getinquirybyaddress --password better-password --url http:https://127.0.0.1:18332 --username good-user --verbose

get inquiry by transaction id:
SUP.EXE --tid 1ee795c31455c7674d6c0bed72f8f7b46501df2c86881440b96c9e5bf07de14b --versionbyte 111 --getinquirybytransactionid --password better-password --url http:https://127.0.0.1:18332 --username good-user --verbose

get inquiries by address:
SUP.EXE --address muVrFVk3ErfrnmWosLF4WixxRtDKfMx9bs --versionbyte 111 --getinquiriesbyaddress --password better-password --url http:https://127.0.0.1:18332 --username good-user --skip 0 --qty -1 --verbose

get inquiries created by address:
SUP.EXE --address muVrFVk3ErfrnmWosLF4WixxRtDKfMx9bs --versionbyte 111 --getinquiriescreatedbyaddress --password better-password --url http:https://127.0.0.1:18332 --username good-user --skip 0 --qty -1 --verbose

parameters:

--getrootbytransactionid

--getrootsbyaddress

--getpublicaddressbykeyword

--getkeywordbypublicaddress

--getobjectbyaddress

--getobjectbytransactionid

--getobjectbyurn

--getobjectbyfile

--getobjectsbyaddress

--getobjectsownedbyaddress

--getobjectscreatedbyaddress

--getobjectsbykeyword

-getpublicmessagesbyaddress

-getprivatemessagesbyaddress

-getpublickeysbyaddress

--getfoundobjects

--getprofilebyaddress

--getprofilebyurn

--getinquirybyaddress

--getinquirybytransactionid

--getinquiriesbyaddress

--getinquiriescreatedbyaddress

-u, --username RPC username for authentication

-p, --password RPC password for authentication

-r, --url RPC URL

-s, --skip The number of roots \ objects to skip [default: 0]

-q, --qty The number of roots \ objects to retrieve per processing batch [ default: 300 \ all ]

-b, --versionbyte The version byte

-t, --tid The transaction ID to query

-a, --address The address to query

-k, --keyword The keyword to query

--urn The urn to query

-f, --filepath The full path of file to query

--verbose output event information to leveldb

--help Display this help screen.

--version Display version information.

Check out P2FK.IO a Sup!? CLI powered API for the traditional web

https://github.com/embiimob/p2fk.io

LIVE DEMO

https://p2fk.io

URN IMG & URI Referencing Standards


IPFS:Qma7o6Yx2HQfCkNJEHv1gpiDzoZU8rNc6JFQXijfyt8cGc
( references an IPFS gif file creates a default file named {hash}/artifact )

IPFS:Qmex6VRDqwVCMPrc7ojtBWzUBPdQAmWq9FcprKTcgmbKX3/baby punch.glb
( references and IPFS file outputs file with given name {hash}/baby punch.glb )

66e5f4df4bd0a3ea9b569498ed25f848e837b9dec7a2699c1d6756ae9560c962/8354.png
( references mainchain - bitcoin testnet P2FK )

MZC:c0c7fa9536e31e04a65252d8acec29af1c54cb0a44609af7fb9e3804065c7f19/chief-sitting-bull.jpg
( references sidechain - mazacoin production P2FK )

BTC:3ff52882c93420c8fe4a90f6fa94b2a563316b5e7b83afe2ddd5bcadc86d3821/FakeUFO.png
( references sidechain - bitcoin production P2FK )

LTC:7f698f396cbad1d45ad5a5c474b1492172705ce532dbe1022a7bfe834d914fdf/creationLTCsm.jpg
( references sidechain - litecoin production P2FK )

DOG:73e146c1b4c1ad9c05de733bbc8c9b682b25b69054492b84c090dd9b1cb0c58f/dodge-meme.gif
( references sidechain - dogecoin production P2FK )

http:https://bitfossil.org/7033eb8138de0d3f4be111a57dfb8319b400d3b6a6f5b387a22b334ebb998e93/EMBII.jpg
( references a http(s) address )

explore Sup!? on youtube

https://www.youtube.com/playlist?list=PLDNMoJ2rHmfoxt1AX417-lWt2zvWUnKUH