# Validator List Tool Guide This guide explains how to publish an XRP Ledger validator list. A validator list publisher uses a public/private key pair. The publisher is identified by the public key. The private key should be tightly controlled. It is used to: * sign manifests authorizing an ephemeral key to sign validator lists as the publisher identified by this public key. * sign revocations indicating that the private key has been compromised and the publisher public key should no longer be trusted. Each new manifest invalidates all previous manifests for the publisher public key. The current manifest needs to be present in the published validator list. Servers that trust the publisher will adapt automatically when the manifest changes. ## Validator List Publisher Keys When first setting up a validator list, use the `validator-list` tool to generate the publisher key pair: ``` $ validator-list ``` 1. Enter `1` for `Create validator list publisher keys` 2. Enter a name for the keys. Sample output: ``` Select a name for this credential set: my-publisher-keys Publisher keys stored in privkeys.txt and pubkeys.txt Ephemeral keys stored in my-publisher-keys/ ``` Keep the key files in a secure but recoverable location, such as an encrypted USB flash drive. Do not modify its contents. Use ephkey1.txt key and manifest to generates validator lists. ## Signing Validator Lists Use the `validator-list` tool to generate and sign validator lists ``` $ validator-list ``` 1. Enter `2` for `Sign validator list`. 2. Enter the ephemeral private key from ephkey1.txt 3. Enter the list sequence number. This should exceed the sequence number of the previous list. 4. Enter the numbers of days from today for the list to expire. 5. Enter the manifest of the validators to include on the validator list, one per line. Best practice: * The set of validators in a published list should have at least 90% overlap with other known published lists. * The set of validators in each new published list should have at least 90% overlap with the set in the previous list. * A list should expire before the sequence+2 list is published. Failure to follow best practices could result in a ledger fork among rippleds using your list. Sample output: ``` Enter ephemeral private key: **************************************************************** Sequence number: 1 Validity in days: 14 Enter validator manifests, ending with a blank line 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 Adding the following validator public keys to the list: nHUBGitjsiaiMJBWKYsJBHU2shmYt9m29hRqoh8AS5bSAjXoHmdd nHB1FqfBpNg7UTpiqEUkKcAiWqC2PFuoGY7FPWtCcXAxSkhpqDkm nHUpwrafS45zmi6eT72XS5ijpkW5JwfL5mLdPhEibrqUvtRcMAjU nHUgoJvpqXZMZwxh8ZoFseFJEVF8ryup9r2mFYchX7ftMdNn3jLT nHUXh1ELizQ5QLLqtNaVEbbbfMdq3wMkh14aJo5xi83xzzaatWWP nHBtzeujejMTAWCymPjcaQUjLgxnfxDGTGoZnP3PvHRkR24hVgjw nHBvriTnYGxP8ix3HfWo2GTFFo2zuxNXyRh3U8F9LvVZd718hhxF nHULGMbQHyXe92wtnxA1X9TEp26qPiRfwfTv5MskD1yMro7bQ2df nHUKp8XUkaFN6GzQ3o4qTE1w9aAD5uFjZ8vDt6pwjBsTFRq5FWEb nHBtDzdRDykxiuv7uSMPTcGexNm879RUUz5GW4h1qgjbtyvWZ1LE nHUzum747yqip3HWSgzSNHNMjmLUqhroNVWidSRTREswEVhKNQEM nHUon2tpyJEHHYGmxqeGu37cvPYHzrMtUNQFVdCgGNvEkjmCpTqK nHU2Y1mLGDvTbc2dpvpkQ16qdeTKv2aJwGJHFySSB9U3jkTmj4CA nHDDasc9BHNB99PW8KUduS8Phqg8NPUmjufzMU6HGGDMUH2xNpPh nHUUrjuEMtvzzTsiW2xKinUt7Jd83QFqYgfy3Feb7Hq1EJyoxoSz nHB29c3ohq7KDtecLSLRrTV9k9Z3rLgmo1v8uuNmEEHxhTqfaQwo { "blob" : "eyJzZXF1ZW5jZSI6MSwiZXhwaXJhdGlvbiI6NTgyOTQwODAwLCJ2YWxpZGF0b3JzIjpbeyJ2YWxpZGF0aW9uX3B1YmxpY19rZXkiOiJFRDZDOUU4NDU2RkRBNzAxNDRBNzNFNzA5RDUwOTY0NjNGMTU4NUY3MTU4ODgxRjNCREM1M0U4QjRGRjFBMUFCOUIiLCJtYW5pZmVzdCI6IkpBQUFBQVJ4SWUxc25vUlcvYWNCUktjK2NKMVFsa1kvRllYM0ZZaUI4NzNGUG90UDhhR3JtM01oQWplZjRIcnBOSm44RE9TUEFGbmNQV3ZNNUdOVFgzc1lLTlk5d21YcXQ1M0Rka1l3UkFJZ2ZsQ3c5SmxDVEFXd050QVB4SjJxTnA5K1pocWVEK0NxeHhkRlZhd3QyYmNDSUJ5VTFrQkN2M1F6dzFsM1hpMlluQUcvelM1TkxGNGc5bkR6dnRrY2JwSkpjQkpBT29NQzR6Njl6ZzhFYllHWGQ4TGxROVdjVFBMaEpNTmxpTkdhTWVXdmszRFhidWRGQUJBOVBvQjFZMC9iZ1hhVENsQXFLaW0rcHBjUkNyRGh3V3pZQXc9PSJ9LHsidmFsaWRhdGlvbl9wdWJsaWNfa2V5IjoiRUQ0NEZGRTJGNjI0OUMzNzMyMUEzNDlDMEE5ODNDNUQ1RDNFRTMzNDAxM0FFNEE1RDg5ODZFMTY3NDkyMDM1NEM5IiwibWFuaWZlc3QiOiJKQUFBQUFKeEllMUUvK0wySkp3M01obzBuQXFZUEYxZFB1TTBBVHJrcGRpWWJoWjBrZ05VeVhNaEE1NW9HQXdqWGVUbGFVODZwVmNxbzJuQUIzU0dXcXNwWUJ1SW1SVExjKzVkZGtjd1JRSWhBUFJEaXF0QXZ0RHRwdk5VYzQ0VWdlRTFWSVVqdElvVTE4SGlMTW1MZmYvVEFpQnhpNy91T2NFT0l5TW0rM2hGdHQvRVlnN1V4MXFEU1Izd0JRd2duU1pVOEhBU1FDL0s2RnI2M3pjM1I4MVlNeWFjQzlXZHptMUQ4Z29sRmMvNjZwVVNsNDdsRE1rZDB2WVZZSWVhUk15SitybHhaV2k1cU1hdll4WFN6NDNBenluUWlBRT0ifSx7InZhbGlkYXRpb25fcHVibGljX2tleSI6IkVENTdFQTQzRDUxRUE0RDFDNzg5MjlCQjI0MDkwRUQzQzg5RjAzRTFFRDcyQkM1NjRFOTU3RDg3MjczMDA2NTQ0RiIsIm1hbmlmZXN0IjoiSkFBQUFBSnhJZTFYNmtQVkhxVFJ4NGtwdXlRSkR0UElud1BoN1hLOFZrNlZmWWNuTUFaVVQzTWhBdFN6c0pqc2VSaVdYMWNyRTNCNEVmK2Z0S1dNYmpScjgxWkRDckNIcG1qSmRrWXdSQUlnSWVIMFU2UTJVOUovK0lqRDlKYm9GNmowTVNlaitYR2xCbE0xcDhIYjBJb0NJSEpubTVTUXVNbVQydW5JcjdEUzBuVVpTQmFWOVRlay9aR2RxS3FZaHZ1dWNCSkFLaDd2OVQwS2lEZU5tdk52d0dZdTdQaTBPb1QvS1k1YmdpYTlvNjVLbjY0M1Z6OERweFBYVWl2dGpJTTdaekMxKy9RYmdrSWRoaUhXUjA2cXM5VmNDUT09In0seyJ2YWxpZGF0aW9uX3B1YmxpY19rZXkiOiJFREFGQThDNjgxMjFBNUE3RENGOEJFNTVCRDY4RDU2REQzNDJCODM0Mjg5OTYxQ0EzOUJFNkYyRDA2QjlGMUU2MDUiLCJtYW5pZmVzdCI6IkpBQUFBQUp4SWUydnFNYUJJYVduM1BpK1ZiMW8xVzNUUXJnMEtKbGh5am0rYnkwR3VmSG1CWE1oQXBCNmk4RWNqNWJEd3JhUXlIQ3lJOGs0VXV5L2xMMVNDZ3Y1UnZUU0tEQVJka1l3UkFJZ0Noc0E3S21jSTRaVkV0M285T3Y5ZXczMEdQVTEycE1lcEljZCtlMTFwdjhDSUVpajNXbGdESkh3d1U3SHNoMXZNWS9BbzVuM1o4RkhCSk9GU0hzWHp2dE5jQkpBeE9GWTVYY2Y4bEhmK0Z5ZnE5ZU1SWHBZV0ZRR2REYkRpajhBdEd2Y0xnQkpTT0toMWlWNUcwNTliQ0c4OEJ1cVE3cnFWNHljU1laNXVqMDMyaTY2REE9PSJ9LHsidmFsaWRhdGlvbl9wdWJsaWNfa2V5IjoiRUQ5OThGRTY2OEIwNTQyOUE0NzkwNDEyQkVEMzc1QjIxOUYzQkJGNUFEQ0YyMTc2NTg3OTUxMUExNjU3MjIzNDU0IiwibWFuaWZlc3QiOiJKQUFBQUFKeEllMlpqK1pvc0ZRcHBIa0VFcjdUZGJJWjg3djFyYzhoZGxoNVVSb1dWeUkwVkhNaEFwN2lqa3dRelJ3OWlubU5zVGVtM0tVVWt4aDlZTjFCMTBYSVhrVDNTTlZSZGtZd1JBSWdLaDB6bjBvYkJQdi80T2dReE5mZVhhTkJFUkQrcEpWQzFwVzU2MGdMblFrQ0lGK1Q1WUUwa0tOQnhkRm5oVzhlMmpGK2xUbEZkcndIMUxrUnhtaG9VQXJkY0JKQTZ3Mk5CZmNwbDRlUnMrSHp0R0FvNHdCL296UXNTMzdPQTVsQm9BSHp3OVYzQ0I1WFFDRk1kMHpRdWpNREdUazd4K09pejk3UDRPTDVmLzF2T0IrV0F3PT0ifSx7InZhbGlkYXRpb25fcHVibGljX2tleSI6IkVENDdBNzlGREI3MTIwNTYzNjZDMDg2MTczNTdBRjQxMzcwOENBMTE0OTlGRDQyNjM0RkRFRTQyQTcyMTM2MDM1NSIsIm1hbmlmZXN0IjoiSkFBQUFBRnhJZTFIcDUvYmNTQldObXdJWVhOWHIwRTNDTW9SU1ovVUpqVDk3a0tuSVRZRFZYTWhBMHNwYXBwRHFnREF4VHlacmYyVVllRlBLUE53Y3BzYjlKYzdWVGlwaEk1L2RrY3dSUUloQVBLOHlEYWtIZE9VS2MrekFGcU5HQWxjdzlWRDAvUDhFbHBxQmZVK0lBNXlBaUJyWGNJY3Z1RVFCWHhpZkZHSFNSalhGY2doWkxTVGFhUmNPNTRrOFBJU1VYQVNRSGpKZlByL01qLy9XaWhHS0puMnowMUxJNml6b1A4a3l1NFVhV2FUT2FVcU41bzZBR2NJeXN4NFEwMXZEVEJZWlk0dGozOXV3ekRwbGNqemY4ZGlmZzQ9In0seyJ2YWxpZGF0aW9uX3B1YmxpY19rZXkiOiJFRDQ5RjhFQjgwNzFFMjZENEUwNjcyMzhENjJENjdDQTZFQkZCMjk4QjRBNzJEQ0ZBRDUzNkE3RUM4OTI1QzUxOUIiLCJtYW5pZmVzdCI6IkpBQUFBQUZ4SWUxSitPdUFjZUp0VGdaeU9OWXRaOHB1djdLWXRLY3R6NjFUYW43SWtseFJtM01oQW9nTW1RVFJBRksvK20vWFdRZkp2WFRlTWNhaXlGNmdraGdBc3NkTE9jaUlka1l3UkFJZ054WWF2SlB5SEFOdXhvZ1FZN1JOQlA5dFpvZ1pKeEYxd1pxem00YTM3R2dDSUJPdmJlUTgrUDQ2Q0NJY3k0WkNaQTVyWlorOTNIMGFLSlpRMytJQTBPT3VjQkpBQVNUcFFLdEVKa2Vxd0h6K2pLV052V2wwc0hSUVpTU0p1WWlNeXlVYTd5dHBzZXY2TkdvRm4xYk5wWVRndnNhUHhvejd2SHNrRGgyWjZnZWJTRENSQ0E9PSJ9LHsidmFsaWRhdGlvbl9wdWJsaWNfa2V5IjoiRUQ4MTA4RjdEOUVFNzc5REMxMDc1RUMzQ0Y4RUI5MDA0RERGODRDRDBBMEZGNTc3NUM5RTM3NUNDQUNEQUEzMDIyIiwibWFuaWZlc3QiOiJKQUFBQUFGeEllMkJDUGZaN25lZHdRZGV3OCtPdVFCTjM0VE5DZy8xZDF5ZU4xekt6YW93SW5NaEFsdlBKQU5RY1JVU05VUitObFp1bzRrR3BZRjhsOXBIUFAxWlJPT1VjTllSZGtZd1JBSWdSV1padUpMQWYzU05NR29GeWdVbHUrZUFENTFab0hGTWN5b2ljbjBXS3VjQ0lHdzRuOWNWRFBPQkdDOHdsSkR5OTI4Mng5UmRPd28xY28yZytOWmxjL0ROY0JKQUtKaEsvYW02TDdLRTQ1ME5WemhwVlZvTDhPRk1vMG1GeGs4QkRHNlFPMmNTTk1OM095d2Y0MEQrSWxlczlMWHh4dnZQQjZnV1NtUGx3RjdkTlI5R0FRPT0ifSx7InZhbGlkYXRpb25fcHVibGljX2tleSI6IkVEN0UzQkFGRjkwMURFNTI1QjAwQjJDMUZFMTlBRjQ0OUEwODBCNUYzMTAwQzZFQzE4MkM4NjdBRjYxRjcxMEZGRCIsIm1hbmlmZXN0IjoiSkFBQUFBRnhJZTErTzYvNUFkNVNXd0N5d2Y0WnIwU2FDQXRmTVFERzdCZ3NobnIySDNFUC9YTWhBNStHREpoMkFwV0tDaDJONW9teDRGQU9GRXFYTWpxeTFISjVFN1dBM0ZyT2RrY3dSUUloQU1SZXp3alRBTDM1anBqajE1anFvSFV2Um03KzdpSHBVNDdhS0U2SEVDaFpBaUJTTUlaYU1XdjZxTkpIbmlZcHNZSHg0T1BQcEJvQ01NZE1WQUdmRmk5ZkszQVNRRTBUWWlJc0d2MC95bHBxR0VCaUxrazJYanJBOCsrQWt6cHI5dmNUdHJrSGlERG8wY0hLTzltUlVMQVhlc1JyT3lGYjVRY08wbDBWc3dldkQ1amxzd2s9In0seyJ2YWxpZGF0aW9uX3B1YmxpY19rZXkiOiJFRDQ1RTgwQTA0RDc5Q0I5REYwMEFFQkQ4NkRDREMxNjg2RDY0MTlFQTlFNUUwRTcxRjFBODE3RTA4QjUwNzZBNTUiLCJtYW5pZmVzdCI6IkpBQUFBQUZ4SWUxRjZBb0UxNXk1M3dDdXZZYmMzQmFHMWtHZXFlWGc1eDhhZ1g0SXRRZHFWWE1oQXhabzE1N3BjQjlkZTZTbWs3aG9LM3dOQ0FyNGFGWnRmQVBpN0NFNG1OSmxka2N3UlFJaEFMbFZqWENmaXkvbXRYQldzTnQ3N3Q0aktjTkVCcFJWOHp2K1NwVTVsQ2gwQWlCYTh2bzh4eHB2aVlsZjR6ZEcrblFoQjJPZ2ZrUVpaUE1IT3Q3Q2FYelhnWEFTUUw4TzVwMDgzbWc0S0tMOHVaZk1hVXFkZ3p1SjBHdGExbHlVV1BjdFRQQ3hZMTM1WHdLK25KQWRGc0lVRk5KOU1Qam5wQ21TallWelZhNk01L25BY0FJPSJ9LHsidmFsaWRhdGlvbl9wdWJsaWNfa2V5IjoiRUREOEM4ODY0Mjc5NUNFNjlDNUI3ODBFMDE3MDJDMzcwRjk1MDdEMEI2NDQzM0YxN0VGRTcwRjI2MzdBNDBBREI3IiwibWFuaWZlc3QiOiJKQUFBQUFGeEllM1l5SVpDZVZ6bW5GdDREZ0Z3TERjUGxRZlF0a1F6OFg3K2NQSmpla0N0dDNNaEFuRmZyK3I5Qlhkc1hFL2NCbEpNeWQvWHNPMUE1WEVZQ2N0cnN2TEVYK0RtZGtjd1JRSWhBTlJjUk1nOVNBWG9hT3ZIRFoyYXY5UnpFYVphVkVOZlFpVmdzaStPeDNGMEFpQjJzblNJT202YzQvaW5idFUwVW1XTFFUenV3a09kVUZQSUI4QXg4ZG1HdUhBU1FNVUlmWE1qOTZrY0ZUU0puTUZDL21XL0FROGJLWGtGcnJrMENVVEZGS3dlRWpUcStTVHJGaTZxTEwyTVQ3bnZlR3hzWEJDZ3p0amMwcUdhczlLRldnTT0ifSx7InZhbGlkYXRpb25fcHVibGljX2tleSI6IkVEQkRFQjkwMUY3Qzc1RDBFMjBDNkM0MkFGMDNCRTBEQTQwMzc3QUYxOTM5QTE4QjNDQjM2Nzk2NjFERDVGOUY3NCIsIm1hbmlmZXN0IjoiSkFBQUFBRnhJZTI5NjVBZmZIWFE0Z3hzUXE4RHZnMmtBM2V2R1RtaGl6eXpaNVpoM1YrZmRITWhBZzNjeUtOUE1QcUtnUjdrSWk3Yy84R0wvWWdkQnRnNG1TQVd2d21hZXZWR2RrWXdSQUlnV3pHOEdxWWczWXB3RHM4eFhhOVhxTEhzczc2S1QydUFIUmhVWEZWVXFDUUNJRzJFdmJGS254ZXpSZDljcFBIU3QzMkhYSytQNCthTDNwMit2cWxDeFJSOWNCSkFib1hUbVlUYXlvY0EzemY5ZFdFWHR5YWVPR0MxazVXZFlVUnpQbGVldnZhbFI0eFZvWHpzMzhpR1B4RnIvcEE5bkwrTTRkdXUwR0tDSGxWaXIrZkJBZz09In0seyJ2YWxpZGF0aW9uX3B1YmxpY19rZXkiOiJFREExNzg3MUU3MkIwQzU3MEFDNDM0NUM2MENGMDJBRkJCQjc0MEE2MzFCN0FEMEUxRTU3MzIxNjU3NEQ5QUVBMDIiLCJtYW5pZmVzdCI6IkpBQUFBQUZ4SWUyaGVISG5Ld3hYQ3NRMFhHRFBBcSs3dDBDbU1iZXREaDVYTWhaWFRacnFBbk1oQW9qeXV6Z3RyZVFreFFqOHBySHhPc2JEY0Y1ZnU0WFhiMEt4RUwvUHE1SGhka2N3UlFJaEFOZlBETFpQNDdhQ1d3dDVrQm5wNzVCdXVDZ3A5YzRCZkpQZDY2U0ZDdzYxQWlBSnZlZ0J2dlBJcmVjK1hPU3pLUmZpNXV1WFd4dGw5RXlyMmFQQllYdmJSSEFTUU1VTFlFbzdiZVJmb1VDbmprMXNUWXlZOTF0TElHTGdubmFXWGhVbTgwK3pzNUlHZWdrOHFpaktBdEJPTXVCQzcxbEFCNEtoSmMrZEIycnBNT0ZjNWd3PSJ9LHsidmFsaWRhdGlvbl9wdWJsaWNfa2V5IjoiRURGNDZFRTI3QUQwRTFBNzE0QUZFQ0RBODE2RUFCNzExNDYxNEZDQjkyRDBDQjREOTdCNkE4OEVENDM0MzRBRkM5IiwibWFuaWZlc3QiOiJKQUFBQUFGeEllMzBidUo2ME9HbkZLL3Myb0Z1cTNFVVlVL0xrdERMVFplMnFJN1VORFN2eVhNaEF3MEFUV2pWVHQ0RmZlS083a3Y2ZkZnZC9nbzIrZDVCU3lVY1VSbVJXblR0ZGtjd1JRSWhBTXdPZ0RlYzdRWVlObmdzcGc5MHdFdlZic29oMnV4MTRSUFR3K0dIYVhObEFpQUxnZkVzeitBRjRleVgvWTVpNDRWckZqRkZJTVdVZk9aYVFKdHN4dGVNMVhBU1FMT2FGMHQyWnBxVktkOEpFU1FWWSt6VTU2N2lBQUcyYW1UUFp4OTU4NzVTOUE2UGwra0g1VEdITUFlV2pnV1NxZmgzbTJIQkpYN05JY1hiOTh2eTlBQT0ifSx7InZhbGlkYXRpb25fcHVibGljX2tleSI6IkVENkU0QzQxRTU5RkZCRUI1MTcyNkU1NDQ2ODUwMkZFNjQzNzIzOEZBNzhFQTUxNjM0RTdCRjBEMDkxNzFBRUU4RiIsIm1hbmlmZXN0IjoiSkFBQUFBRnhJZTF1VEVIbG4vdnJVWEp1VkVhRkF2NWtOeU9QcDQ2bEZqVG52dzBKRnhydWozTWhBdXp0R1diL09pMS9WNW01ZHVqV3I5SG1iS1J5SzRYWWsra211RlBTZ0FGcmRrWXdSQUlnZlErQmdYWDZRYmxaeTRIMDVvN0dQU0l3cVM3UVFSVVc3ZHFGNTRJQWlpTUNJSDRYZkx3OTU2aUVhb3haT2s3S2N0aW4yWDloTWZhTE43d3lzOXlBVUZvWmNCSkF1ZUVpODRYUjNMbDFHTEpXYW5XMWcxTWRVai8wUEF4SmJ3NkVFUVJ1RzN6ZG51UkhOWGxkNlVaQWJJa1ZjUDB6dGZxdWxCempiY3NMRE9LRkVpY1NCZz09In0seyJ2YWxpZGF0aW9uX3B1YmxpY19rZXkiOiJFRDFDREQwOTU0RTk1REU1RTM2QUI1RTk2NTc1MDMxN0UwNDMzMTIxMDZCMEU2RUVFRjFDMTlFQ0ZBNkI0MUNCRkIiLCJtYW5pZmVzdCI6IkpBQUFBQUZ4SWUwYzNRbFU2VjNsNDJxMTZXVjFBeGZnUXpFaEJyRG03dThjR2V6NmEwSEwrM01oQW1UaEZUMmJ2eU02Uy9TNVUyVVY0VmtyYjNnVGRkbmZjOFhiVGxrRTRMMm9ka2N3UlFJaEFOMFNBV3lXNTZlcmVSK1dSOHZSMlpXWjl5ZGhwR0RWRm51WDFlVWRKU1FqQWlBVXAxZFpDOU1ISkhKRTVkc09WNWwrT2J5a3pSblo5MkM0TGZDUzF6Y3BXbkFTUUlqSmY4T2VrWlFGczRNQWcrdDE4T2xUTmgzeURTblAvd0wvbGFsV0hVSkYrYS9VQ2d1cERGYjh1TVRTNTRDWGgvWDM4cWRBNGw4dEtrRUhZc1owRXdrPSAifV19", "manifest" : "JAAAAAFxIe3O84babkQJIsShuQSSesg3zlYYTzffZn3HQDasAdIr4nMh7dwKxFnWQR/HrmpAUP/u6vmG9O7JY7HwVxajnj755ApvdkAvGmaDIcFyXtL1+kjX6AqNWSfLOsed9zcS2KNgvjBuLOJbW1g/TSYoDzvcTXdFQ0gWALPqTMHUoex5/NZYViwDcBJAUnf/+rB9CbG9m6mq2A1zx23Ul9BPt0x4x+w0WK7i0KTLNUy3eQntCs6tj2OJKFY/e7IuaCMoBfLFk6Fv7unyAg==", "signature" : "C0B8BFECDF2E1D8E94AC911373B14F36325E9B6C3049A4366FC06A8692A8F66447C1AC5C6FFB6796F314FC192CFDFB4D07CDCBA7C2F4AB7508E21CE39BDDDC04", "version" : 1 } ``` Serve the outputted JSON at your published validator list site. ## Using Your Validator List Rippled operators can add the following to their [validators.txt](https://github.com/ripple/rippled/blob/develop/cfg/validators-example.txt) file to configure their rippled to use your published validator list: * Add the hex-encoded public key from your [pubkeys.txt file](#validator-list-publisher-keys) to `[validator_list_keys]` * Add the URI serving your published validator list to `[validator_list_sites]`