Axie Scholar Utilities Wiki

Logo

Wiki pages for the axie scholar utilities tool.

View the Project on GitHub FerranMarin/axie-scholar-utilities

Payments file format

It requires a JSON file like:

{
    "scholars": [
        {
            "name": "Scholar 1",
            "ronin": "ronin:<account_s1_address>",
            "splits": [
                {
                    "persona": "Manager",
                    "percentage": 44,
                    "ronin": "ronin:<manager_address>"
                },
                {
                    "persona": "Scholar",
                    "percentage": 40,
                    "ronin": "ronin:<scholar_1_address>"
                },
                {
                    "persona": "Other Person",
                    "percentage": 6,
                    "ronin": "ronin:<other_person_address>"
                },
                {
                    "persona": "Trainer",
                    "percentage": 10,
                    "ronin": "ronin:<trainer_address>"
                }
            ]
        },
        {...}
    ],
    "donations": [
        {
            "name": "Entity 1",
            "ronin": "ronin:<donation_entity_1_address>",
            "percentage": 1
        },
        {...}
    ]
}

Let’s define the concepts in that file.

WARNING! All addresses in the previous file are the PUBLIC ones. Remember to always keep your private keys safe.

Legacy Payments file format

It requires a JSON file like:

{
    "Manager": "ronin:<Manager address here>",
    "Scholars":[
        {
            "Name": "Scholar 1",
            "AccountAddress": "ronin:<account_address>",
            "ScholarPayoutAddress": "ronin:<scholar_address>",
            "ScholarPercent": 45,
            "TrainerPayoutAddress": "ronin:<trainer_address>",
            "TrainerPercent": 1
        },
        {
            "Name": "Scholar 1",
            "AccountAddress": "ronin:<account_address>",
            "ScholarPayoutAddress": "ronin:<scholar_address>",
            "ScholarPercent": 50,
            "ScholarPayout": 100,
            "TrainerPayoutAddress": "ronin:<trainer_address>",
            "TrainerPercent": 0,
            "TrainerPayout": 10
        },
        {...},
        ...
    ],
    "Donations": [
        {
            "Name": "Entity 1",
            "AccountAddress": "ronin:<donation_entity_address>",
            "Percent": 1
        },
        {
            ...
        }
    ]
}

Let’s define the concepts in that file.

Amounts in payouts are exact SLP amounts, percents are defined in whole numbers 1 -> 1%, 40 -> 40%, 100 -> 100%

WARNING! All addresses in the previous file are the PUBLIC ones. Remember to always keep your private keys safe.

Secrets file format

This JSON file is much simpler, and you should never need to create it as you can use the secret generation command. But if you are curious, the format will be like:

{
    <AccountAddressRonin>:<PrivateKey>,
    ...
}

Transfers file format

This JSON file defines the Axie transfers you wish to do. You define from which accounts you transfer which Axies to witch accounts. Here is an example:

    [
    {
        "AccountAddress": "ronin:<whohasanaxie>",
        "Transfers": [
            {
                "AxieId": 123,
                "ReceiverAddress": "<ronin:<whowillgetanaxie>"
            },
            {
                "AxieId": 123,
                "ReceiverAddress": "<ronin:<whowillgetanaxie>"
            },
            {
                "AxieId": 123,
                "ReceiverAddress": "<ronin:<whowillgetanaxie>"
            },
            {
                "AxieId": 123,
                "ReceiverAddress": "<ronin:<whowillgetanaxie>"
            }
            ...
        ]
    },
    {
        "AccountAddress": "ronin:<whohasanaxie>",
        "Transfers": [
            {
                "AxieId": 123,
                "ReceiverAddress": "<ronin:<whowillgetanaxie>"
            },
            {
                "AxieId": 123,
                "ReceiverAddress": "<ronin:<whowillgetanaxie>"
            },
            {
                "AxieId": 123,
                "ReceiverAddress": "<ronin:<whowillgetanaxie>"
            }
        ]
    },
    ...
    {
        "AccountAddress": "ronin:<whohasanaxie>",
        "Transfers": [
            {
                "AxieId": 123,
                "ReceiverAddress": "<ronin:<whowillgetanaxie>"
            },
            {
                "AxieId": 123,
                "ReceiverAddress": "<ronin:<whowillgetanaxie>"
            },
            {
                "AxieId": 123,
                "ReceiverAddress": "<ronin:<whowillgetanaxie>"
            }
        ]
    }
]

As you can see we put the account where we have the axies in AccountAddress and then inside Transfers we define the transfers we want to do from that account. In each we indicate the AxieID and the ronin ReceiverAddress to receive that Axie.

Breeding file format

A simple JSON file indicating the Sire and Matron axies that will be breed together. We also indicate the AccountAddress they are in.

[
    {
        "Sire": 123,
        "Matron": 345,
        "AccountAddress": "<ronin:<address_that_hold_both_axies>"
    },
    {
        "Sire": 123,
        "Matron": 345,
        "AccountAddress": "<ronin:<address_that_hold_both_axies>"
    },
    {
        "Sire": 123,
        "Matron": 345,
        "AccountAddress": "<ronin:<address_that_hold_both_axies>"
    },
    {
        "Sire": 123,
        "Matron": 345,
        "AccountAddress": "<ronin:<address_that_hold_both_axies>"
    },
    {
        "Sire": 123,
        "Matron": 345,
        "AccountAddress": "<ronin:<address_that_hold_both_axies>"
    }
]

Caution: Be careful when running breeding. It won’t check you have the funds to pay for the breeding nor you have the free transactions available to carry them out.

Mass update CSV file

This CSV file is quite straight forward. You can use excel or google docs or anything that produces a csv file. To get these results, you will need to add your public ronin on the 1st column and your private key for that account on the 2nd column. The resulting format will be something that looks like:

ronin:abc1,0xsecretabc1
ronin:abc2,0xsecretabc2
ronin:abc3,0xsecretabc3
ronin:abc4,0xsecretabc4

In excel or google docs it looks something like:

Secrets CSV Image

All these will be merged with the pre-existing ones (if any) in secrets.json

If any other columns are present, they will simply be ignored. Furthermore, if headers are at the top of the columns, please remove them on the exported csv.

Create Payments CSV file

This CSV file is used to create the percent payments file. You can use excel or google docs or anything that procudes a csv file. It has to look like something:

Secrets CSV Image

And the resulting csv:

Name,AccountAddress,ScholarPayoutAddress,ScholarPercent,ScholarPayout,TrainerPayoutAddress,TrainerPercent,TrainerPayout 
Test1,ronin:abc1,ronin:abc_scholar1,50,
Test2,ronin:abc2,ronin:abc_scholar2,50,
Test3,ronin:abc3,ronin:abc_scholar3,50,
Test4,ronin:abc4,ronin:abc_scholar4,50,
Test5,ronin:abc5,ronin:abc_scholar5,50,100
Test6,ronin:abc6,ronin:abc_scholar6,50,100,ronin:abc_trainer6,5
Test7,ronin:abc7,ronin:abc_scholar7,50,100,ronin:abc_trainer7,0,230

Please, this file cannot have any other headers other than the following.

Note: Percents in this file are written as whole numbers. For example, 40 means 40%, 5 means 5%.

Create Transfers CSV file

This CSV file is used to create the transfers file. You can use excel or google docs or anything that produces a csv file. It has to look like something:

Transfers CSV Image

And the resulting csv:

AccountAddress,AxieId,ReceiverAddress
ronin:<whohasanaxie1>,1231,ronin:<whowillgetanaxie>
ronin:<whohasanaxie1>,1232,ronin:<whowillgetanaxie>
ronin:<whohasanaxie1>,1233,ronin:<whowillgetanaxie>
ronin:<whohasanaxie2>,1234,ronin:<whowillgetanaxie>
ronin:<whohasanaxie2>,1235,ronin:<whowillgetanaxie>
ronin:<whohasanaxie2>,1236,ronin:<whowillgetanaxie>

Please, this file cannot have any other headers other than the following.

Create Breeding CSV file

This CSV file is used to create the breeding file. You can use excel or google docs or anything that produces a csv file. It has to look like something:

Secrets CSV Image

And the resulting csv:

Sire,Matron,AccountAddress
123,345,ronin:abc1
234,132,ronin:abc1
5677,879,ronin:abc1
789,787,ronin:abc1

Please, this file cannot have any other headers other than the following.

Example Files

If after that you still unclear on how they look like. Please go to the folder sample_data to see sample files for how the payments file and the secrets file need to look like.