NFT_BELL

The #nftbells are the result of the mergers of Mr.A.I.Neo.

Mr.A.I.Neo is the melter. A wise connoisseur of melting techniques, with a particular history behind him.

He had been completely forgotten, but it was found and recreated in digital form.

He has gathered the last forces to melt his first and last 512 bells.

Respecting traditions and ancient rules.

To distinguish a bell we often rely on its design. Design can identify a foundry, a historical period, an area and even a sound system. The soul of the melter lies in its design.

  • Carillon  –  Identifies a sound system.
  • Tall      –  Identifies the first bells.
  • Fat       –  Identifies the bells of Europe.
  • Original  –  Identifies Mr.A.I.Neo

The bells to be melted are composed of 4 elements: water, earth, fire and air. The mastery of a melter consists in finding the balance between the forces involved.

If wisely used it is possible to determine the color of the bell, based on the prevailing element.

  • Fire    –   Red
  • Earth   –   Green
  • Water   –   Blue
  • Air     –   Yellow

The bells are melted in order to ring and listen to the note decided by the melter.

In this collection Mr. Ai.Neo has decided to merge the notes from C2 to A3.

The melter creates the instrument, the musician composes the music.

WHY?

Because each bell is unique? Not necessarily

To collect them all as if they were stickers? Wrong

To recreate PopArt?  Not really

Or why they allow you to play a song? Not only

Or rather, this collection can become all and none of these things, but above all it wants to be a message: in the blockchain there is space for everyone. Even for a small Italian company that melts and restores bells, in the open sea where the millennial tradition of metal intertwines technological innovation, melting one block at a time to form a chain.

And when they called us crazy, defining everything fake and illusory, we simply replied that the money on wall street is just as fake, with the difference that here the control is of the community, and the power to decide what is valuable and what is not, it just depends on you.

Andy Remembering

Pop-Art

Each Bell Is Unique

Unique

Scale Music

Harry Potter with NFT Bell

RULES

Every week a part of Mr.A.I.Neo’s story will be told.

Each part of the story will make two bells available.

Only the caster knows the whole story and therefore his entire project.

However, the rules of the project were made public.

LIST

This document contains the bell list. The list is encrypted, and by finding the keys, it is possible to discover the next bells.

Some designs are unique, others much more common.
“De gustobus non est disputandum.”
The Mr.A.I.Neo collection tries to balance the various styles.
Only his personal design requires an extreme mastery of melting techniques.
It is normal that it is more rare.

There are elements that are simpler to control, and others that are much more complex. For this reason, cast bells are not always the same color.
Air bells are rarer, as they are difficult to melt, while bells where the predominant element is fire or earth are more common.
Whether they are common or rare, the color determines the main element used in melting techniques.

The bell is a musical instrument. All notes are equally likely to be merged.
To be able to express itself, it must be combined with another in order to recreate a melody or a song. This is not the melter’s job. Only a skilled musician can combine the notes on a score and express all his creativity.

 

Mr.A.I.Neo made the notation simple.
A watch determines the note using the minute hand, while the note’s pitch will be indicated by the hour hand.

READ

Each token is a small video.
In addition to seeing the image, you will be able to hear the note.
The note is visible in the top right clock.
Color and design of the bell make up the image.
Its rarity is immediately readable.
Finally the bell serial number.   

 

Example    

Element  – Fire    

Design   – Tall    

Note     – A# 3    

Serial   – ..:::.:.: (117)

#nftbell

Source Code

QString design(int _per)
{
    if(_per < 30)
        return "Carillon";
    if(_per < 60)
        return "Tall";
    if(_per < 85)
        return "Fat";
    return "Original";
 
}
 
QString element(int _per)
{
    if(_per < 30)
        return "Earth";
    if(_per < 60)
        return "Fire";
    if(_per < 85)
        return "Water";
    return "Air";
}
 
QString note(int _per) {
 
    switch (_per) {
    case 0:
        return "C 2";
    case 1:
        return "C# 2";
    case 2:
        return "D 2";
    case 3:
        return "D# 2";
    case 4:
        return "E 2";
    case 5:
        return "F 2";
    case 6:
        return "F# 2";
    case 7:
        return "G 2";
    case 8:
        return "G# 2";
    case 9:
        return "A 2";
    case 10:
        return "A# 2";
    case 11:
        return "B 2";
    case 12:
        return "C 3";
    case 13:
        return "C# 3";
    case 14:
        return "D 3";
    case 15:
        return "D# 3";
    case 16:
        return "E 3";
    case 17:
        return "F 3";
    case 18:
        return "F# 3";
    case 19:
        return "G 3";
    case 20:
        return "G# 3";
    case 21:
        return "A 3";
    case 22:
        return "A# 3";
    }
    return "B 3";
}
 
int main()
{
 
    QString _design;
    QString _element;
    QString _note;
    QString extraction;
 
    int total = 512;
 
    for(int i=0; i<total; i++)
    {
        srand(time(0));
 
        _design = design(arc4random() % 100);
        _element  = element(arc4random() % 100);
        _note   = note(arc4random() % 24);
 
        extraction = QString::number(i) +  "," + _design + "," + _element + "," + _note + "," + key(i);
 
        QByteArray result = QCryptographicHash::hash(extraction.toUtf8(), QCryptographicHash::Sha512);
        QString hash = QLatin1String(result.toHex());
        printf("%s\n", hash.toStdString().c_str());
    }
 
    return 0;
}
QString design(int _per)
{
    if(_per < 30)
        return "Carillon";
    if(_per < 60)
        return "Tall";
    if(_per < 85)
        return "Fat";
    return "Original";
}
 
QString element(int _per)
{
    if(_per < 30)
        return "Earth";
    if(_per < 60)
        return "Fire";
    if(_per < 85)
        return "Water";
    return "Air";
}
 
QString note(int _per) {
 
    switch (_per) {
    case 0:
        return "C 2";
    case 1:
        return "C# 2";
    case 2:
        return "D 2";
    case 3:
        return "D# 2";
    case 4:
        return "E 2";
    case 5:
        return "F 2";
    case 6:
        return "F# 2";
    case 7:
        return "G 2";
    case 8:
        return "G# 2";
    case 9:
        return "A 2";
    case 10:
        return "A# 2";
    case 11:
        return "B 2";
    case 12:
        return "C 3";
    case 13:
        return "C# 3";
    case 14:
        return "D 3";
    case 15:
        return "D# 3";
    case 16:
        return "E 3";
    case 17:
        return "F 3";
    case 18:
        return "F# 3";
    case 19:
        return "G 3";
    case 20:
        return "G# 3";
    case 21:
        return "A 3";
    case 22:
        return "A# 3";
}
return "B 3"
}
 
int main()
{
 
    QTextStream _s(stdin);
 
    printf("%s", "Insert Serial:");
    QString _serial = _s.readLine();
 
    printf("%s", "\nInsert Hash  :");
    QString _hash = _s.readLine();
 
    printf("%s", "\nInsert Key   :");
    QString _key = _s.readLine();
 
 
    QString _design;
    QString _element;
    QString _note;
    QString _extraction;
    QString _result = " NOT FOUND ";
 
    for(int i=25; i<=100; i+=25)
    {
        _design = design(i);
        for(int j=25; j<=100; j+=25)
        {
            _element = element(j);
            for(int y=0; y<24; y++)
            {
                _note = note(y);
 
                _extraction = _serial +  "," + _design + "," + _element + "," + _note + "," + _key;
                QByteArray result = QCryptographicHash::hash(_extraction.toUtf8(), QCryptographicHash::Sha512);
                QString _hash_generate = QLatin1String(result.toHex());
                if(_hash.compare(_hash_generate) == 0)
                    _result = _extraction;
            }
        }
    }
    printf("%s", _result.toStdString().c_str());
    return 0;
}

Maniero s.r.l. – All Rights Reserved.