2 Comments

La curva si basa sulla formula matematica sum of squares of first n natural numbers, ovvero [n(n+1)(2n+1)]/6. Ad ogni acquisto (buy), la disponibilità (supply) aumenta e ad ogni vendita (sell), la disponibilità diminuisce.

Basandoci sull'attuale disponibilità (supply) del music NFT, sul quantitativo che si desidera mintare o burnare, e aggiungendo un parametro da noi denominato ratio, si otterrà quindi il base_price.

Il creatore, inoltre, specifica una royalty fee da trattenere; la fee andrà aggiunta al base_price. La fee sarà applicata sia al mint che al burn.

Facciamo un esempio:

Supponiamo che il creator abbia specificato una seller fee del 5% e che il base_price sia 100btsg, otterremo così le seguenti royalties 100 * 0.05 = 5btsg.

Il creatore può inoltre specificare una referral fee; la fee verrà detratta dalle royalties del creatore ed assegnata al referral.

Supponiamo che il creator abbia specificato una referral fee dell'1%; otterremo il seguente calcolo 100 * 0.01 = 1btsg.

Quindi, se sarà presente il referral, il creatore guadagnerà 4btsg ed il referral 1btsg (5btsg - 1btsg).

Al fine di rendere il protocollo auto-sostenibile, è stata introdotta una protocol fee (al momento customizzabile dal team di bitsong e successivamente customizzabile tramite governance proposal). L'attuale protocol fee è pari al 0.30% di ogni mint/burn (base price * protocol fee).

Facciamo un esempio:

Il base_price era 100btsg, quindi 100*0.003 = 0.3btsg. La fee verrà depositata nella community pool tramite il messaggio MsgFundCommunityPool.

La protocol fee è stata creata per permettere all'ecosistema di autosostenersi e di incentivare la community con nuove proposal.

In base all'esempio riportato otterremo un prezzo finale di 100+5+0.3 = 105.30btsg.

Lo stesso identico ragionamento va applicato quando viene effettuato un burn.

Dove vengono trasferiti i 100btsg del base_price? Bene, la curva crea un NFT liquido (ovvero una riserva di valore in btsg); infatti, il NFT Genesis Collection custodisce (in questo momento) 1.400.000btsg ($26.000). Se volete verificare voi stessi, potete controllare il balance qui: https://www.mintscan.io/bitsong/address/bitsong1zwv6feuzhy6a9wekh96cd57lsarmqlwxdypdsplw6zhfncqw6ftqgwk2ea

Come faccio a fare buy o sell?

Su bitsong.studio troverai due pulsanti “buy” e “sell”; cliccando su uno dei pulsanti si aprirà una nuova finestra. Nel caso in cui hai scelto buy, la finestra mostrerà la quantità desiderata da acquistare (quindi mintare) ed il Bid Price.

Cos’è il bid price?

Il bid price ti consente di inserire l’importo che sei disposto a spendere per quella quantità di nft che vuoi acquistare.

Facciamo un esempio:

Se vuoi acquistare 10 nft e l’importo di ogni singolo nft è di 100btsg, dovresti impostare un importo minimo di 1000btsg.

Tuttavia, in momenti di alto traffico, il prezzo potrebbe variare rapidamente e quindi le tue transazioni potrebbero fallire. Per evitare ciò, è stato introdotto il bid price, ovvero specificare l’importo che tu sei disposto a spendere per ottenere i 10 nft (esempio 2500btsg). In questo modo, lo smart contract proverà ad acquistare 10 nft per un massimo di 2500btsg; nel caso in cui lo smart contract riesca ad acquistare 10 nft ad un importo inferiore (esempio 1200btsg) ti rimborserà l’importo non utilizzato. Nell’esempio riportato, ho deciso di offrire max 2500btsg; lo smart contract li ha acquistati a 1200btsg, ottenendo i 10 nft ed i 1300btsg di differenza. Nel caso in cui lo smart contract non fosse riuscito ad eseguire l’ordine, mi sarebbero stati rimborsati i 2500btsg e avrei papato solamente le fee di transazione.

Per effettuare un sell (burn) il ragionamento è inverso, impostando quindi l’importo minimo che sei disposto ad ottenere.

Expand full comment

Ciao e grazie per il post e quello che stai sviluppando :)

Non ho capito benissimo pero come funziona questa curva: cosa è n, perchè diviso 6 nell'esempio, e come entra in gioco il ratio predeterminato?

Varrebbe la pena aggiungere queste info tecniche nella documentazione ufficiale di Bitsong adesso che è live :)

Expand full comment