11 days later

Hello, are there limitations if using Federated address with the toml file on my own domain but using the fed server of third party service?
Because i’m using your service and it works for 2-3 wallets I tried but for example not with Stellar account viewer:
“Stellar address cannot be found or is invalid.”

Any idea what the issue could be? Thanks!

    cryptobrant So I checked it out after @cryptobrant contacted me directly and he redirects all traffic from his naked domain to www with a 301. It seems Stellar Account Viewer is super strict and won't follow redirects.

    The browser gives a CORS error on redirects

    Cross-origin redirection to https://www.hiddenforprivacy.com/.well-known/stellar.toml denied by Cross-Origin Resource Sharing policy: Origin https://www.stellar.org is not allowed by Access-Control-Allow-Origin.

    Probably if he would send the Access-Control-Allow-Origin: * header within the 301 redirect response, the browser would follow it and it would work out fine.

      frejete yeah thank you for your precious help by email.
      Working on it. Dreamhost have been very responsive and they made me remove a line in my htaccess but I’m still having the issue. I need to check this in a console to see if there is still a 301 redirect.

        cryptobrant I just checked it from my side and your website does not redirect anymore for the stellar.toml file.

          frejete yes issue solved and working perfectly.
          I was using an old messy website, it needed some cleaning.
          Your service is simple and flawless.

          Little Update

          I added an API endpoint to integrate address and domain creation with customer apps if need be.

          This is fantastic. Ive been wondering. How secure is using these federated addresses? Should we be wary of hackers potentially gaining access and pointing federated addresses to their own stellar public addresses?

          Id love to see federated addresses totally decentralized if that is even possible.

            lumenlessons I've described in the FAQ the security implications of using a federation service. In the current state of things, it is possible that a hacker take over the service and redirect all addresses to his own account. I've tried to make sure this does not happen by running the latest version of all libraries, using reputable providers for hosting and DNS with 2FA enabled everywhere and scrupulously monitoring the service with canary accounts to catch any tampering with accounts.

            Now if a hacking were to happen, the impact would be much lower than for services like webwallets which have access to secret keys and can siphon funds away. Monitoring would catch the changes and I would alert users asap. Then either I gain back control of the service and shut it down or you remove the stellar.toml from your website which disables your addresses straight away (in the case of stellarid.io this give you more control than with other federation services which do not use your own domain). You could also monitor the federation response for your addresses yourself if you do not trust my response time.

            Only incoming transactions made during the takeover would be at risk, not your existing funds. I do not recommend using any kind of federation address, even one you fully control, when transferring very large amounts, such as when you offload from an exchange.

            As of now there are no federation systems more secure. There is however a proposal for a signing protocol similar to DKIM for email which would make a 3 factor security, a hacker needing to compromise 2 out of 3 to takeover an address. I plan on implementing it as soon as a complete specification is published. It will however be contingent on support being built into the various wallets in the future.

              lumenlessons just don’t use this for important transactions. If it’s for some friends restaurant bill reimbursement, if the service were to be hacked you wouldn’t lose much.
              If you are sending a big amount, triple check your real key.

              10 months later

              Hi try to do small tracation it getting error
              node index1.js

              Something went wrong! { Error: Request failed with status code 400
                  at createError (E:\mito\node_modules\axios\lib\core\createError.js:16:15)
                  at settle (E:\mito\node_modules\axios\lib\core\settle.js:18:12)
                  at IncomingMessage.handleStreamEnd (E:\mito\node_modules\axios\lib\adapters\http.js:201:11)
                  at IncomingMessage.emit (events.js:187:15)
                  at endReadableNT (_stream_readable.js:1094:12)
                  at process._tickCallback (internal/process/next_tick.js:63:19)
                config:
                 { adapter: [Function: httpAdapter],
                   transformRequest: { '0': [Function: transformRequest] },
                   transformResponse: { '0': [Function: transformResponse] },
                   timeout: 60000,
                   xsrfCookieName: 'XSRF-TOKEN',
                   xsrfHeaderName: 'X-XSRF-TOKEN',
                   maxContentLength: -1,
                   validateStatus: [Function: validateStatus],
                   headers:
                    { Accept: 'application/json, text/plain, */*',
                      'Content-Type': 'application/x-www-form-urlencoded',
                      'User-Agent': 'axios/0.18.0',
                      'Content-Length': 383 },
                   method: 'post',
                   url: 'https://horizon-testnet.stellar.org/transactions',
                   data:
                    'tx=AAAAAM%2FtxvAYxX6060QKTPVYSV2DTB0itz4F7hAbMFX1KjGTAAAAZAAAKiAAABACAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAiukqdON457rlMDn910M2%2FQCI7Xnu5dOW0HK%2BzyfhhZkAAAAAAAAAAAvrwgAAAAAAAAAAAvUqMZMAAABACKNax4wnaQ%2BcGch3bhplVQzLTe4KYPoLbeBonOSPbY6peG%2FIx%2BNmHnb5izcCQwmm35pkThR65KlVSrXgdtw6AuGJ2NcAAABA2ihAyS1VjKC6%2FOfbGikwploSy3NSq4Zvn5ofHKlMLd%2FY6B5cuzW5Vi8KHmbvdq3FPJc3X9dcSgTUdMOgnF9NBg%3D%3D' },
                request:
                 ClientRequest {
                   _events:
                    {
                   useChunkedEncodingByDefault: true,
                   sendDate: false,
                   _removedConnection: false,
                   _removedContLen: false,
                   _removedTE: false,
                   _contentLength: null,
                   _hasBody: true,
                   _trailer: '',
                   finished: true,
                   _headerSent: true,
                   socket:
                    TLSSocket {},
                   connection:
                    TLSSocket {
                      _tlsOptions: [Object],
                      _secureEstablished: true,
                      _securePending: false,
                      _newSessionPending: false,
                      _controlReleased: true,
                      _SNICallback: null,
                      servername: 'horizon-testnet.stellar.org',
                      alpnProtocol: false,
                      authorized: true,
                      _host: 'horizon-testnet.stellar.org',
                      _readableState: [ReadableState],
                      readable: true,
                      _maxListeners: undefined,
                      _writableState: [WritableState],
                      writable: false,
                      allowHalfOpen: false,
                      _sockname: null,
                      _pendingData: null,
                      _pendingEncoding: '',
                      server: undefined,
                      _server: null,
                      ssl: [TLSWrap],
                      _requestCert: true,
                      _rejectUnauthorized: true, },
                   _header:
                    'POST /transactions HTTP/1.1\r\nAccept: application/json, text/plain, */*\r\nContent-Type: application/x-www-form-urlencoded\r\nUser-Agent: axios/0.18.0\r\nContent-Length: 383\r\nHost: horizon-testnet.stellar.org\r\nConnection: close\r\n\r\n',
                   _onPendingData: [Function: noopPendingOutput],
                   agent:
                    Agent {
                      _events: [Object],
                      _eventsCount: 1,
                      _maxListeners: undefined,
                      defaultPort: 443,
                      protocol: 'https:',
                      options: [Object],
                      requests: {},
                      sockets: [Object],
                      freeSockets: {},
                      keepAliveMsecs: 1000,
                      keepAlive: false,
                      maxSockets: Infinity,
                      maxFreeSockets: 256,
                      maxCachedSessions: 100,
                      _sessionCache: [Object] },
                   socketPath: undefined,
                   timeout: undefined,
                   method: 'POST',
                   path: '/transactions',
                   _ended: true,
                   res:
                    IncomingMessage {
                      req: [Circular],
                      responseUrl: 'https://horizon-testnet.stellar.org/transactions',
                      redirects: [] },
                response:
                 { status: 400,
                   statusText: 'Bad Request',
                   headers:
                    { 'cache-control': 'no-cache, no-store, max-age=0',
                      'content-type': 'application/problem+json; charset=utf-8',
                      date: 'Wed, 12 Dec 2018 16:27:31 GMT',
                      vary: 'Origin',
                      'x-ratelimit-limit': '101',
                      'x-ratelimit-remaining': '100',
                      'x-ratelimit-reset': '1',
                      'content-length': '900',
                      connection: 'Close' },
                   config:
                    { adapter: [Function: httpAdapter],
                      transformRequest: [Object],
                      transformResponse: [Object],
                      timeout: 60000,
                      xsrfCookieName: 'XSRF-TOKEN',
                      xsrfHeaderName: 'X-XSRF-TOKEN',
                      maxContentLength: -1,
                      validateStatus: [Function: validateStatus],
                      headers: [Object],
                      method: 'post',
                      url: 'https://horizon-testnet.stellar.org/transactions',
                      data:
                       'tx=AAAAAM%2FtxvAYxX6060QKTPVYSV2DTB0itz4F7hAbMFX1KjGTAAAAZAAAKiAAABACAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAiukqdON457rlMDn910M2%2FQCI7Xnu5dOW0HK%2BzyfhhZkAAAAAAAAAAAvrwgAAAAAAAAAAAvUqMZMAAABACKNax4wnaQ%2BcGch3bhplVQzLTe4KYPoLbeBonOSPbY6peG%2FIx%2BNmHnb5izcCQwmm35pkThR65KlVSrXgdtw6AuGJ2NcAAABA2ihAyS1VjKC6%2FOfbGikwploSy3NSq4Zvn5ofHKlMLd%2FY6B5cuzW5Vi8KHmbvdq3FPJc3X9dcSgTUdMOgnF9NBg%3D%3D' },
                   request:
                    ClientRequest {
                      _header:
                       'POST /transactions HTTP/1.1\r\nAccept: application/json, text/plain, */*\r\nContent-Type: application/x-www-form-urlencoded\r\nUser-Agent: axios/0.18.0\r\nContent-Length: 383\r\nHost: horizon-testnet.stellar.org\r\nConnection: close\r\n\r\n',
                      socketPath: undefined,
                      timeout: undefined,
                      method: 'POST',
                      path: '/transactions',
                      _ended: true,
                      res: [IncomingMessage],
                   data:
                    { type: 'https://stellar.org/horizon-errors/transaction_failed',
                      title: 'Transaction Failed',
                      status: 400,
                      detail:
                       'The transaction failed when submitted to the stellar network. The `extras.result_codes` field on this response contains further details.  Descriptions of each code can be found at: https://www.stellar.org/developers/learn/concepts/list-of-operations.html',
                      extras: [Object] } } }

                umashankar Hello, this looks like an error with your transaction, not with the federation service.

                7 months later