A Developer Guide to Summarizing Stellar Protocol SEP 1

A Developer Guide to Summarizing Stellar Protocol SEP 1

Posted By : Harshit Sharma | 21-May-2020

What is Stellar.toml file?

Stellar.toml is a file where you put the information about your organization’s Stellar integration. To create the link between information on the file and the account, you need to create a link between the home domain of the Stellar account and the domain that hosts the toml file. The file can be read by humans as well as the machine. The file is written in TOML which is a simple file format and used widely. If anyone looks into it, it shows that the owner of the file claims responsibility for the account and assets listed in it.

 

SEP-1 Specifies five sections that you have to add to your toml file.

  1. Account Information

    One field listed in account information is “ACCOUNT”. It is a list of public keys of all the Stellar accounts associated with your asset. Listing of keys confirms that the owner of the toml file owns them.

    Sample:-

    ACCOUNTS=[<publicKey1>,<publicKey2>,<publicKey3>,...]
  2. Issuer Documentation

    Issuer documentation includes the information of your organization which goes into a table called [DOCUMENTATION]. It ensures that your business is legitimate and trustworthy.

    The table must be defined as a field and value combination. Following are the fields:
    1. ORG_NAME - It requires the name of your organization.
    2. ORG_DBA - It requires the DBA of the organization. I.e. registered name
    3. ORG_URL - It requires the domain of your organization
    4. ORG_LOGO - It requires the logo of your organization.
    5. ORG_DESCRIPTION - It requires the description of your organization.
    6. ORG_PHYSICAL_ADDRESS- It requires the address of your organization.
    7. ORG_PHYSICAL_ADDRESS_ATTESTATION - It requires the image URL that confirms your organization address like any bill at your organization’s address.
    8. ORG_PHONE_NUMBER- It requires the phone number of your organization.
    9. ORG_PHONE_NUMBER_ATTESTATION- It requires the image URL that confirms your phone number like the bill of the phone number with the name of your organization.
    10. ORG_KEYBASE-It requires the information of keybase account which include the proof of ownership with the organization domain.
    11. ORG_TWITTER- It requires the twitter information of organization’s account
    12. ORG_GITHUB-It requires the Github information of the organization’s account
    13. ORG_OFFICIAL_EMAIL- It requires the official email address.

      Sample:-
      [DOCUMENTATION]
      ORG_NAME="<Name of the organization>"
      ORG_DBA="<DBA of the organization>"
      ORG_URL="<organization URL>"
      ORG_LOGO="<Link of URL of your logo>"
      ORG_DESCRIPTION="<Description of the issuer>"
      ORG_PHYSICAL_ADDRESS="<Address of the organization>"
      ORG_PHYSICAL_ADDRESS_ATTESTATION="<Attestation of your address>"
      ORG_PHONE_NUMBER="<Organization’s contact number>"
      ORG_PHONE_NUMBER_ATTESTATION="Attestation of contact number"
      ORG_KEYBASE="<Account name>"
      ORG_TWITTER="<organization’s Twitter username>"
      ORG_GITHUB="<organization’s git>"
      ORG_OFFICIAL_EMAIL="<Official Email>"
      

       
  3. Point of contact Documentation

    Point of contact includes the primary contact point of your organization which goes into TOML array of tables [[PRINCIPALS]]. This requires the contact information of at least one person in your organization. 
    Following are the fields of the table:-
    1. name- It requires the full name of the person.
    2. email- It requires the email of the person.
    3. key base- Account information of the person
    4. twitter-Twitter information of the person
    5. GitHub - It requires the GitHub information of the person
    6. Id_photo_hash - It requires an SHA-256 hash of a photo of an identification document.
    7. Verification_photo_hash- It requires an SHA-256 hash of photo of holding signed, detailed, handwritten message.

      Sample:-
      name="<Name>"
      email="<email address>"
      keybase="<account details>"
      twitter="<twitter information>"
      github="<git information>"
      id_photo_hash="<ID photo hash>"
      verification_photo_hash-"<Validation photo hash>"
      

       
  4. Token Documentation

    This includes information about your token which goes into an array of tables called [[CURRENCIES]]. You can include multiple currencies in a single toml file.

    Following are the fields of the table:-
    1. CODE- It refers to as the asset code. This is the key field that identifies your token.
    2. ISSUER- It refers to as the public key of the issuer Stellar account. This is also the key field that identifies your token.
    3. STATUS- It defines the status of your token. It can be of live, dead or test.
    4. DISPLAY_DECIMALS- It defines the decimal places to display for the currency.
    5. Is_asset_anchored- It defines that your token can be redeemed for an asset outside the stellar network. It can be true or false.
    6. anchor_asset_code- It defines the anchor asset code of anchor.
    7. anchor_type_asset-It defines the category of your asset like fiat, crypto, bond, etc.
    8. Redemption_instructions- It defined the instruction to redeem your token.

      Sample:-
      name="<name>"
      email="<email address>"
      keybase="<account details>"
      twitter="<twitter information>"
      github="<git information>"
      id_photo_hash="<id hash>"
      verification_photo_hash-"<photo hash>"
      

       
  5. Validator information

    Validator requires the information of nodes running as the validator for the network which is listed in the array of tables [[VALIDATORS]]. Each table represents the information of a node.

    Following are the fields table:-
    1. ALIAS- It requires the name of a node according to regex ‘^[a-z0-9-]{2,16}$’.
    2. DISPLAY_NAME - It requires the human-readable display name of the node.
    3. PUBLIC_KEY - It requires the public key of node stellar account.
    4. HOST - It defines the IP PORT combination of the node.
    5. HISTORY - It defines the URI of the validator.

       
      Sample:-
      [[VALIDATORS]]
      ALIAS="<name of node>"
      DISPLAY_NAME="<display name of node>"
      HOST="<IP:PORT of node>"
      PUBLIC_KEY="<public key of node stellar account>"
      HISTORY="<URI of node>
      

    6.  

 

Way to publish toml file.

After the compilation of above-mentioned points, you need to post your TOML file with CORS enable to allow access request from another server on the following domain.

https://YOUR_DOMAIN/.well-known/stellar.toml

 

About Author

Harshit Sharma

He is a MEAN Stack Developer with problem solving attitude. He is efficient in API Development and always ready to learn new technologies in Web Development.

Leave a Comment

Name is required

Comment is required

Recaptcha is required.

Leave a Comment

    Request For Proposal

    Cookies are important to the proper functioning of a site. To improve your experience, we use cookies to remember log-in details and provide secure log-in, collect statistics to optimize site functionality, and deliver content tailored to your interests. Click Agree and Proceed to accept cookies and go directly to the site or click on View Cookie Settings to see detailed descriptions of the types of cookies and choose whether to accept certain cookies while on the site.

    We would love to hear from you!

    Oodles | Blockchain Development Company

    Please enter a valid Phone Number

    Please remove URL from text

    Recaptcha is required.