Securing Your Digital Assets: Wallet App Development Step-by-Step

Do you want to know how to create a wallet app of your own? Building a secure wallet app requires carefully planned security measures and a user-centric approach. Let’s just say wallet app development isn’t easy (learn more details in the Topflight blog)!

A digital wallet application is a software application on your smartphone or other mobile device that securely stores and manages your digital assets. Think of it as a high-tech version of your physical wallet but for the digital age. These wallets must be secure because you won’t keep them in your pocket.

Don’t worry, though – if you stick to our guide, you can create a digital wallet app in no time.

How to create a wallet app

Before you can build your own e-wallet, you have put in months of work and a lot of time. Here’s where to start.

1. Define Your Vision and Target Audience:

Before diving into code, clearly define your app’s purpose and target audience. Will it cater to a specific blockchain or a diverse ecosystem? Is it designed for individual users or institutional clients? Understanding your target users’ needs and preferences will guide your feature selection and security protocols. Your customers will help you with the information you need to create a wallet app.

2. Choose the Right Technology Stack:

The technology stack dictates your app’s performance, security, and scalability. Popular options include:

  • Front-end: React Native for cross-platform development, Flutter for high performance, or native iOS/Android development for optimal device integration.
  • Back-end: Node.js for its flexibility and scalability, Python for its robust development tools, or Java for enterprise-grade security.
  • Blockchain Integration: Libraries like Web3.js for Ethereum or specific SDKs for other blockchains.

3. Implement Robust Security Measures:

Security is paramount, and your app should employ a multi-layered approach to protect user assets. Consider these:

  • Cryptography: Utilize robust encryption algorithms like AES-256 for data at rest and TLS/SSL for data in transit.
  • Key Management: Implement secure key generation, storage, and encryption practices. Hardware security modules (HSMs) are ideal for storing private keys.
  • Multi-Factor Authentication (MFA): Go beyond passwords with fingerprint, facial recognition, or hardware tokens for secure logins.
  • Secure Coding Practices: Employ well-established security best practices like code reviews, vulnerability scanning, and penetration testing to identify and address potential security flaws.
  • Regular Updates and Audits: Regularly update your app with the latest security patches and conduct security audits by independent third-party experts.

4. Design a User-Friendly Interface:

Security shouldn’t come at the expense of usability. Design an intuitive and user-friendly interface that makes managing digital assets seamless. Consider these:

  • Simple and Clear Navigation: Make essential features readily accessible and provide clear instructions for complex tasks.
  • Real-time Transaction Monitoring: Allow users to track their transactions and account balances easily.
  • Educational Resources: Provide in-app tutorials and FAQs to educate users about blockchain technology and best practices for secure asset management.
  • Multilingual Support: Cover a global audience by offering app functionality in multiple languages.

5. Testing and Deployment:

Thorough testing ensures your app functions flawlessly and meets security standards. Conduct unit tests, integration tests, and user acceptance testing to identify and address bugs. Deploy your app on trusted app stores with secure distribution protocols.

6. Ongoing Maintenance and Support:

When you build a mobile wallet app, the work continues after deployment. Continuously monitor your app for security vulnerabilities and user feedback. Provide prompt customer support and update your app regularly with new features and security improvements.

Additional Considerations:

  • Compliance: Ensure your app complies with relevant regulations and financial crime prevention laws.
  • Privacy: Implement transparent data privacy policies and secure user data storage practices.
  • Community Engagement: Build a strong community around your app by offering forums, support channels, and educational resources.

Remember, security is an ongoing process. By following these steps and staying vigilant, you can develop a secure and user-friendly wallet app that empowers users to manage their digital assets in the ever-evolving blockchain ecosystem confidently.

Conclusion

Don’t worry if this all seems overwhelming. You can hire a team to help you from start to finish. They will have the experience and the expertise to guide you through this entire process. Now that you know how to create a wallet app, all that’s left is to start!

And you can find out how to develop any fintech application here: https://topflightapps.com/ideas/how-to-build-a-market-ready-fintech-app-in-record-time/

Artifactory Error:

Error

root@ip-172-31-95-25:/opt/artifactory-pro-7.23.3/var/log# grep -R -i error .
./console.log:ReferenceError: globalThis is not defined
./console.log:2023-12-11T17:13:58.430Z [jfrou] [INFO ] [1def5c82561bbf87] [join_executor.go:165          ] [main                ] - Cluster join: Retry 5: Service registry ping failed, will retry. Error: Get "http://localhost:8040/access/api/v1/system/ping": dial tcp 127.0.0.1:8040: connect: connection refused
./console.log:2023-12-11T17:13:59.504Z [jfmd ] [INFO ] [7790c4438fdc1545] [accessclient.go:58            ] [main                ] - Cluster join: Retry 5: Service registry ping failed, will retry. Error: Error while trying to connect to local router at address 'http://localhost:8046/access': Get "http://localhost:8046/access/api/v1/system/ping": dial tcp 127.0.0.1:8046: connect: connection refused [access_client]
./console.log:2023-12-11T17:14:00.501Z [jfevt] [INFO ] [5dbc5b2931adf732] [access_thin_client.go:103     ] [main                ] - Cluster join: Retry 5: Service registry ping failed, will retry. Error: Error while trying to connect to local router at address 'http://localhost:8046/access/api/v1/system/ping': Get "http://localhost:8046/access/api/v1/system/ping": dial tcp 127.0.0.1:8046: connect: connection refused [startup]
./console.log:[dd.trace 2023-12-11 17:14:01:136 +0000] [dd-task-scheduler] INFO datadog.trace.agent.core.StatusLogger - DATADOG TRACER CONFIGURATION {"version":"1.24.1~a9dfdcc7da","os_name":"Linux","os_version":"5.15.0-1049-aws","architecture":"amd64","lang":"jvm","lang_version":"11.0.10","jvm_vendor":"AdoptOpenJDK","jvm_version":"11.0.10+9","java_class_version":"55.0","http_nonProxyHosts":"null","http_proxyHost":"null","enabled":true,"service":"catalina","agent_url":"http://localhost:8126","agent_unix_domain_socket":"/opt/datadog/apm/inject/run/apm.socket","agent_error":true,"debug":false,"trace_propagation_style_extract":["datadog","tracecontext"],"trace_propagation_style_inject":["datadog","tracecontext"],"analytics_enabled":false,"sampling_rules":[{},{}],"priority_sampling_enabled":true,"logs_correlation_enabled":true,"profiling_enabled":false,"remote_config_enabled":true,"debugger_enabled":false,"appsec_enabled":"ENABLED_INACTIVE","telemetry_enabled":true,"dd_version":"","health_checks_enabled":true,"configuration_file":"no config file present","runtime_id":"0df78989-699f-4df3-ba1e-fb65b7bd697b","logging_settings":{"levelInBrackets":false,"dateTimeFormat":"'[dd.trace 'yyyy-MM-dd HH:mm:ss:SSS Z']'","logFile":"System.err","configurationFile":"simplelogger.properties","showShortLogName":false,"showDateTime":true,"showLogName":true,"showThreadName":true,"defaultLogLevel":"INFO","warnLevelString":"WARN","embedException":false},"cws_enabled":false,"cws_tls_refresh":5000,"datadog_profiler_enabled":true,"datadog_profiler_safe":true,"datadog_profiler_enabled_overridden":false}
./console.log:2023-12-11T17:14:04.513Z [jfmd ] [INFO ] [7790c4438fdc1545] [accessclient.go:58            ] [main                ] - Cluster join: Retry 10: Service registry ping failed, will retry. Error: Error while trying to connect to local router at address 'http://localhost:8046/access': Get "http://localhost:8046/access/api/v1/system/ping": dial tcp 127.0.0.1:8046: connect: connection refused [access_client]
./console.log:2023-12-11T17:14:05.505Z [jfevt] [INFO ] [5dbc5b2931adf732] [access_thin_client.go:103     ] [main                ] - Cluster join: Retry 10: Service registry ping failed, will retry. Error: Error while trying to connect to local router at address 'http://localhost:8046/access/api/v1/system/ping': Get "http://localhost:8046/access/api/v1/system/ping": dial tcp 127.0.0.1:8046: connect: connection refused [startup]
./console.log:2023-12-11T17:14:09.518Z [jfmd ] [INFO ] [7790c4438fdc1545] [accessclient.go:58            ] [main                ] - Cluster join: Retry 15: Service registry ping failed, will retry. Error: Error while trying to connect to local router at address 'http://localhost:8046/access': Get "http://localhost:8046/access/api/v1/system/ping": dial tcp 127.0.0.1:8046: connect: connection refused [access_client]
./console.log:[dd.trace 2023-12-11 17:14:09:769 +0000] [dd-trace-processor] WARN datadog.trace.agent.common.writer.ddagent.DDAgentApi - Error while sending 1 (size=706B) traces. Total: 1, Received: 1, Sent: 0, Failed: 1. java.io.IOException: No such file or directory (Will not log errors for 5 minutes)
./console.log:2023-12-11T17:14:10.510Z [jfevt] [INFO ] [5dbc5b2931adf732] [access_thin_client.go:103     ] [main                ] - Cluster join: Retry 15: Service registry ping failed, will retry. Error: Error while trying to connect to local router at address 'http://localhost:8046/access/api/v1/system/ping': Get "http://localhost:8046/access/api/v1/system/ping": dial tcp 127.0.0.1:8046: connect: connection refused [startup]
./console.log:2023-12-11T17:14:14.523Z [jfmd ] [INFO ] [7790c4438fdc1545] [accessclient.go:58            ] [main                ] - Cluster join: Retry 20: Service registry ping failed, will retry. Error: Error while trying to connect to local router at address 'http://localhost:8046/access': Get "http://localhost:8046/access/api/v1/system/ping": dial tcp 127.0.0.1:8046: connect: connection refused [access_client]
./console.log:2023-12-11T17:14:15.514Z [jfevt] [INFO ] [5dbc5b2931adf732] [access_thin_client.go:103     ] [main                ] - Cluster join: Retry 20: Service registry ping failed, will retry. Error: Error while trying to connect to local router at address 'http://localhost:8046/access/api/v1/system/ping': Get "http://localhost:8046/access/api/v1/system/ping": dial tcp 127.0.0.1:8046: connect: connection refused [startup]
./console.log:2023-12-11T17:14:19.529Z [jfmd ] [INFO ] [7790c4438fdc1545] [accessclient.go:58            ] [main                ] - Cluster join: Retry 25: Service registry ping failed, will retry. Error: Error while trying to connect to local router at address 'http://localhost:8046/access': Get "http://localhost:8046/access/api/v1/system/ping": dial tcp 127.0.0.1:8046: connect: connection refused [access_client]
./console.log:2023-12-11T17:14:20.521Z [jfevt] [INFO ] [5dbc5b2931adf732] [access_thin_client.go:103     ] [main                ] - Cluster join: Retry 25: Service registry ping failed, will retry. Error: Error while trying to connect to local router at address 'http://localhost:8046/access/api/v1/system/ping': Get "http://localhost:8046/access/api/v1/system/ping": dial tcp 127.0.0.1:8046: connect: connection refused [startup]
./console.log:2023-12-11T17:14:24.535Z [jfmd ] [INFO ] [7790c4438fdc1545] [accessclient.go:58            ] [main                ] - Cluster join: Retry 30: Service registry ping failed, will retry. Error: Error while trying to connect to local router at address 'http://localhost:8046/access': Get "http://localhost:8046/access/api/v1/system/ping": dial tcp 127.0.0.1:8046: connect: connection refused [access_client]
./console.log:2023-12-11T17:14:25.527Z [jfevt] [INFO ] [5dbc5b2931adf732] [access_thin_client.go:103     ] [main                ] - Cluster join: Retry 30: Service registry ping failed, will retry. Error: Error while trying to connect to local router at address 'http://localhost:8046/access/api/v1/system/ping': Get "http://localhost:8046/access/api/v1/system/ping": dial tcp 127.0.0.1:8046: connect: connection refused [startup]
./console.log:2023-12-11T17:14:29.540Z [jfmd ] [INFO ] [7790c4438fdc1545] [accessclient.go:58            ] [main                ] - Cluster join: Retry 35: Service registry ping failed, will retry. Error: Error while trying to connect to local router at address 'http://localhost:8046/access': Get "http://localhost:8046/access/api/v1/system/ping": dial tcp 127.0.0.1:8046: connect: connection refused [access_client]
./console.log:2023-12-11T17:14:30.531Z [jfevt] [INFO ] [5dbc5b2931adf732] [access_thin_client.go:103     ] [main                ] - Cluster join: Retry 35: Service registry ping failed, will retry. Error: Error while trying to connect to local router at address 'http://localhost:8046/access/api/v1/system/ping': Get "http://localhost:8046/access/api/v1/system/ping": dial tcp 127.0.0.1:8046: connect: connection refused [startup]
./console.log:2023-12-11T17:14:33.435Z [jfrou] [INFO ] [1def5c82561bbf87] [join_executor.go:165          ] [main                ] - Cluster join: Retry 10: Service registry ping failed, will retry. Error: Get "http://localhost:8040/access/api/v1/system/ping": net/http: request canceled (Client.Timeout exceeded while awaiting headers)
./console.log:2023-12-11T17:14:34.549Z [jfmd ] [INFO ] [7790c4438fdc1545] [accessclient.go:58            ] [main                ] - Cluster join: Retry 40: Service registry ping failed, will retry. Error: Error while trying to connect to local router at address 'http://localhost:8046/access': Get "http://localhost:8046/access/api/v1/system/ping": dial tcp 127.0.0.1:8046: connect: connection refused [access_client]
./console.log:2023-12-11T17:14:35.537Z [jfevt] [INFO ] [5dbc5b2931adf732] [access_thin_client.go:103     ] [main                ] - Cluster join: Retry 40: Service registry ping failed, will retry. Error: Error while trying to connect to local router at address 'http://localhost:8046/access/api/v1/system/ping': Get "http://localhost:8046/access/api/v1/system/ping": dial tcp 127.0.0.1:8046: connect: connection refused [startup]
./console.log:2023-12-11T17:14:39.553Z [jfmd ] [INFO ] [7790c4438fdc1545] [accessclient.go:58            ] [main                ] - Cluster join: Retry 45: Service registry ping failed, will retry. Error: Error while trying to connect to local router at address 'http://localhost:8046/access': Get "http://localhost:8046/access/api/v1/system/ping": dial tcp 127.0.0.1:8046: connect: connection refused [access_client]
./console.log:2023-12-11T17:14:40.542Z [jfevt] [INFO ] [5dbc5b2931adf732] [access_thin_client.go:103     ] [main                ] - Cluster join: Retry 45: Service registry ping failed, will retry. Error: Error while trying to connect to local router at address 'http://localhost:8046/access/api/v1/system/ping': Get "http://localhost:8046/access/api/v1/system/ping": dial tcp 127.0.0.1:8046: connect: connection refused [startup]
./console.log:2023-12-11T17:14:43.231Z [jfac ] [WARN ] [2b2bd02da0ac97fb] [o.j.c.ExecutionUtils:165      ] [pool-28-thread-2    ] - Retry 10 Elapsed 5.84 secs failed: Registration with router on URL http://localhost:8046 failed with error: UNAVAILABLE: io exception. Trying again
./console.log:2023-12-11T17:14:44.560Z [jfmd ] [INFO ] [7790c4438fdc1545] [accessclient.go:58            ] [main                ] - Cluster join: Retry 50: Service registry ping failed, will retry. Error: Error while trying to connect to local router at address 'http://localhost:8046/access': Get "http://localhost:8046/access/api/v1/system/ping": dial tcp 127.0.0.1:8046: connect: connection refused [access_client]
./console.log:2023-12-11T17:14:45.550Z [jfevt] [INFO ] [5dbc5b2931adf732] [access_thin_client.go:103     ] [main                ] - Cluster join: Retry 50: Service registry ping failed, will retry. Error: Error while trying to connect to local router at address 'http://localhost:8046/access/api/v1/system/ping': Get "http://localhost:8046/access/api/v1/system/ping": dial tcp 127.0.0.1:8046: connect: connection refused [startup]
./console.log:2023-12-11T17:14:48.299Z [jfac ] [WARN ] [2b2bd02da0ac97fb] [o.j.c.ExecutionUtils:165      ] [pool-28-thread-2    ] - Retry 20 Elapsed 10.91 secs failed: Registration with router on URL http://localhost:8046 failed with error: UNAVAILABLE: io exception. Trying again
./console.log:2023-12-11T17:14:48.765Z [jfrou] [WARN ] [247ce34e499a06b3] [local_topology.go:256         ] [main                ] - Readiness test failed with the following error: "required node services are missing or unhealthy"
./console.log:2023-12-11T17:14:49.567Z [jfmd ] [INFO ] [7790c4438fdc1545] [accessclient.go:58            ] [main                ] - Cluster join: Retry 55: Service registry ping failed, will retry. Error: Error while trying to connect to local router at address 'http://localhost:8046/access': Failed to access :http://localhost:8046/access/api/v1/system/ping return status code : 404 [access_client]
./console.log:2023-12-11T17:14:50.557Z [jfevt] [INFO ] [5dbc5b2931adf732] [access_thin_client.go:103     ] [main                ] - Cluster join: Retry 55: Service registry ping failed, will retry. Error: Failed to ping access, response status: 404 Not Found (returned 404) [startup]
./console.log:2023-12-11T17:14:53.401Z [jfac ] [WARN ] [2b2bd02da0ac97fb] [o.j.c.ExecutionUtils:165      ] [pool-28-thread-2    ] - Retry 30 Elapsed 16.01 secs failed: Registration with router on URL http://localhost:8046 failed with error: UNAVAILABLE: io exception. Trying again
./console.log:2023-12-11T17:14:53.765Z [jfrou] [WARN ] [5c32b526382b6e4f] [local_topology.go:256         ] [main                ] - Readiness test failed with the following error: "required node services are missing or unhealthy"
./console.log:2023-12-11T17:14:54.581Z [jfmd ] [INFO ] [7790c4438fdc1545] [accessclient.go:58            ] [main                ] - Cluster join: Retry 60: Service registry ping failed, will retry. Error: Error while trying to connect to local router at address 'http://localhost:8046/access': Failed to access :http://localhost:8046/access/api/v1/system/ping return status code : 404 [access_client]
./console.log:2023-12-11T17:14:55.918Z [jfevt] [WARN ] [5dbc5b2931adf732] [proxy_synchronizer.go:21      ] [main                ] - Proxy cache is not updated because of error: failure to get the list of proxies from Artifactory (returned 404) [proxy_cache]
./console.log:2023-12-11T17:14:55.993Z [jfevt] [WARN ] [5dbc5b2931adf732] [base_url_cache.go:68          ] [main                ] - Base URL cache is not updated because of error: failed to fetch base URL from Artifactory (returned 404) [baseurl_cache]
./console.log:2023-12-11T17:14:56.027Z [jfevt] [WARN ] [5dbc5b2931adf732] [domain_client.go:57           ] [main                ] - Error occurred when refreshing domain cache all domain endpoint failed : Fetch domains from http://localhost:8046/artifactory/api/events/domains failed (returned 404), Fetch domains from http://localhost:8046/distribution/api/v1/events/domains failed (returned 404),  [domain_client]
./console.log:2023-12-11T17:14:58.835Z [jfrou] [WARN ] [5325465ff82f1275] [local_topology.go:256         ] [main                ] - Readiness test failed with the following error: "required node services are missing or unhealthy"
./console.log:2023-12-11T17:15:03.791Z [jfrou] [WARN ] [4a301100487b2aa1] [local_topology.go:256         ] [main                ] - Readiness test failed with the following error: "required node services are missing or unhealthy"
./console.log:2023-12-11T17:15:05.937Z [jfevt] [WARN ] [5dbc5b2931adf732] [proxy_synchronizer.go:21      ] [main                ] - Proxy cache is not updated because of error: failure to get the list of proxies from Artifactory (returned 503) [proxy_cache]
./console.log:2023-12-11T17:15:06.016Z [jfevt] [WARN ] [5dbc5b2931adf732] [base_url_cache.go:68          ] [main                ] - Base URL cache is not updated because of error: failed to fetch base URL from Artifactory (returned 503) [baseurl_cache]
./console.log:2023-12-11T17:15:06.048Z [jfevt] [WARN ] [5dbc5b2931adf732] [domain_client.go:57           ] [main                ] - Error occurred when refreshing domain cache all domain endpoint failed : Fetch domains from http://localhost:8046/artifactory/api/events/domains failed (returned 503), Fetch domains from http://localhost:8046/distribution/api/v1/events/domains failed (returned 404),  [domain_client]
./console.log:2023-12-11T17:15:08.774Z [jfrou] [WARN ] [300060dfe4f22c04] [local_topology.go:256         ] [main                ] - Readiness test failed with the following error: "required node services are missing or unhealthy"
./event-service.log:2023-12-11T17:14:00.501Z [jfevt] [INFO ] [5dbc5b2931adf732] [access_thin_client.go:103     ] [main                ] - Cluster join: Retry 5: Service registry ping failed, will retry. Error: Error while trying to connect to local router at address 'http://localhost:8046/access/api/v1/system/ping': Get "http://localhost:8046/access/api/v1/system/ping": dial tcp 127.0.0.1:8046: connect: connection refused [startup]
./event-service.log:2023-12-11T17:14:05.505Z [jfevt] [INFO ] [5dbc5b2931adf732] [access_thin_client.go:103     ] [main                ] - Cluster join: Retry 10: Service registry ping failed, will retry. Error: Error while trying to connect to local router at address 'http://localhost:8046/access/api/v1/system/ping': Get "http://localhost:8046/access/api/v1/system/ping": dial tcp 127.0.0.1:8046: connect: connection refused [startup]
./event-service.log:2023-12-11T17:14:10.510Z [jfevt] [INFO ] [5dbc5b2931adf732] [access_thin_client.go:103     ] [main                ] - Cluster join: Retry 15: Service registry ping failed, will retry. Error: Error while trying to connect to local router at address 'http://localhost:8046/access/api/v1/system/ping': Get "http://localhost:8046/access/api/v1/system/ping": dial tcp 127.0.0.1:8046: connect: connection refused [startup]
./event-service.log:2023-12-11T17:14:15.514Z [jfevt] [INFO ] [5dbc5b2931adf732] [access_thin_client.go:103     ] [main                ] - Cluster join: Retry 20: Service registry ping failed, will retry. Error: Error while trying to connect to local router at address 'http://localhost:8046/access/api/v1/system/ping': Get "http://localhost:8046/access/api/v1/system/ping": dial tcp 127.0.0.1:8046: connect: connection refused [startup]
./event-service.log:2023-12-11T17:14:20.521Z [jfevt] [INFO ] [5dbc5b2931adf732] [access_thin_client.go:103     ] [main                ] - Cluster join: Retry 25: Service registry ping failed, will retry. Error: Error while trying to connect to local router at address 'http://localhost:8046/access/api/v1/system/ping': Get "http://localhost:8046/access/api/v1/system/ping": dial tcp 127.0.0.1:8046: connect: connection refused [startup]
./event-service.log:2023-12-11T17:14:25.527Z [jfevt] [INFO ] [5dbc5b2931adf732] [access_thin_client.go:103     ] [main                ] - Cluster join: Retry 30: Service registry ping failed, will retry. Error: Error while trying to connect to local router at address 'http://localhost:8046/access/api/v1/system/ping': Get "http://localhost:8046/access/api/v1/system/ping": dial tcp 127.0.0.1:8046: connect: connection refused [startup]
./event-service.log:2023-12-11T17:14:30.531Z [jfevt] [INFO ] [5dbc5b2931adf732] [access_thin_client.go:103     ] [main                ] - Cluster join: Retry 35: Service registry ping failed, will retry. Error: Error while trying to connect to local router at address 'http://localhost:8046/access/api/v1/system/ping': Get "http://localhost:8046/access/api/v1/system/ping": dial tcp 127.0.0.1:8046: connect: connection refused [startup]
./event-service.log:2023-12-11T17:14:35.537Z [jfevt] [INFO ] [5dbc5b2931adf732] [access_thin_client.go:103     ] [main                ] - Cluster join: Retry 40: Service registry ping failed, will retry. Error: Error while trying to connect to local router at address 'http://localhost:8046/access/api/v1/system/ping': Get "http://localhost:8046/access/api/v1/system/ping": dial tcp 127.0.0.1:8046: connect: connection refused [startup]
./event-service.log:2023-12-11T17:14:40.542Z [jfevt] [INFO ] [5dbc5b2931adf732] [access_thin_client.go:103     ] [main                ] - Cluster join: Retry 45: Service registry ping failed, will retry. Error: Error while trying to connect to local router at address 'http://localhost:8046/access/api/v1/system/ping': Get "http://localhost:8046/access/api/v1/system/ping": dial tcp 127.0.0.1:8046: connect: connection refused [startup]
./event-service.log:2023-12-11T17:14:45.550Z [jfevt] [INFO ] [5dbc5b2931adf732] [access_thin_client.go:103     ] [main                ] - Cluster join: Retry 50: Service registry ping failed, will retry. Error: Error while trying to connect to local router at address 'http://localhost:8046/access/api/v1/system/ping': Get "http://localhost:8046/access/api/v1/system/ping": dial tcp 127.0.0.1:8046: connect: connection refused [startup]
./event-service.log:2023-12-11T17:14:50.557Z [jfevt] [INFO ] [5dbc5b2931adf732] [access_thin_client.go:103     ] [main                ] - Cluster join: Retry 55: Service registry ping failed, will retry. Error: Failed to ping access, response status: 404 Not Found (returned 404) [startup]
./event-service.log:2023-12-11T17:14:55.918Z [jfevt] [WARN ] [5dbc5b2931adf732] [proxy_synchronizer.go:21      ] [main                ] - Proxy cache is not updated because of error: failure to get the list of proxies from Artifactory (returned 404) [proxy_cache]
./event-service.log:2023-12-11T17:14:55.993Z [jfevt] [WARN ] [5dbc5b2931adf732] [base_url_cache.go:68          ] [main                ] - Base URL cache is not updated because of error: failed to fetch base URL from Artifactory (returned 404) [baseurl_cache]
./event-service.log:2023-12-11T17:14:56.027Z [jfevt] [WARN ] [5dbc5b2931adf732] [domain_client.go:57           ] [main                ] - Error occurred when refreshing domain cache all domain endpoint failed : Fetch domains from http://localhost:8046/artifactory/api/events/domains failed (returned 404), Fetch domains from http://localhost:8046/distribution/api/v1/events/domains failed (returned 404),  [domain_client]
./event-service.log:2023-12-11T17:15:05.937Z [jfevt] [WARN ] [5dbc5b2931adf732] [proxy_synchronizer.go:21      ] [main                ] - Proxy cache is not updated because of error: failure to get the list of proxies from Artifactory (returned 503) [proxy_cache]
./event-service.log:2023-12-11T17:15:06.016Z [jfevt] [WARN ] [5dbc5b2931adf732] [base_url_cache.go:68          ] [main                ] - Base URL cache is not updated because of error: failed to fetch base URL from Artifactory (returned 503) [baseurl_cache]
./event-service.log:2023-12-11T17:15:06.048Z [jfevt] [WARN ] [5dbc5b2931adf732] [domain_client.go:57           ] [main                ] - Error occurred when refreshing domain cache all domain endpoint failed : Fetch domains from http://localhost:8046/artifactory/api/events/domains failed (returned 503), Fetch domains from http://localhost:8046/distribution/api/v1/events/domains failed (returned 404),  [domain_client]
./artifactory-service.log:                                                                         | -XX:OnOutOfMemoryError=kill -9 %p
./artifactory-service.log:   artifactory.binary.store.error.notification.intervalSecs              | 30
./artifactory-service.log:   artifactory.binary.store.error.notification.staleSecs                 | 30
./artifactory-service.log:   artifactory.acl.version.cache.async.waiting.on.error.time.millis      | 60000
./artifactory-service.log:   artifactory.persistentQueue.errors.check.trigger.sec                  | 30
./artifactory-service.log:   artifactory.upload.failOnChecksumValidationError                      | false
./artifactory-service.log:   artifactory.replication.errorQueue.maxErrors                          | 100
./artifactory-service.log:   artifactory.replication.errorQueue.enabled                            | false
./artifactory-service.log:   artifactory.replication.errorQueue.retryCount                         | 10
./artifactory-service.log:   artifactory.projects.storage.quota.error.tolerance.percentage         | 1
./artifactory-service.log:   artifactory.artifact.lifecycle.warm.restore.error.threshold.percent   | 10
./artifactory-service.log:   artifactory.artifact.lifecycle.warm.archive.error.threshold.percent   | 10
./access-service.log:2023-12-11T17:14:43.231Z [jfac ] [WARN ] [2b2bd02da0ac97fb] [o.j.c.ExecutionUtils:165      ] [pool-28-thread-2    ] - Retry 10 Elapsed 5.84 secs failed: Registration with router on URL http://localhost:8046 failed with error: UNAVAILABLE: io exception. Trying again
./access-service.log:2023-12-11T17:14:48.299Z [jfac ] [WARN ] [2b2bd02da0ac97fb] [o.j.c.ExecutionUtils:165      ] [pool-28-thread-2    ] - Retry 20 Elapsed 10.91 secs failed: Registration with router on URL http://localhost:8046 failed with error: UNAVAILABLE: io exception. Trying again
./access-service.log:2023-12-11T17:14:53.401Z [jfac ] [WARN ] [2b2bd02da0ac97fb] [o.j.c.ExecutionUtils:165      ] [pool-28-thread-2    ] - Retry 30 Elapsed 16.01 secs failed: Registration with router on URL http://localhost:8046 failed with error: UNAVAILABLE: io exception. Trying again
./metadata-service.log:2023-12-11T17:13:59.504Z [jfmd ] [INFO ] [7790c4438fdc1545] [accessclient.go:58            ] [main                ] - Cluster join: Retry 5: Service registry ping failed, will retry. Error: Error while trying to connect to local router at address 'http://localhost:8046/access': Get "http://localhost:8046/access/api/v1/system/ping": dial tcp 127.0.0.1:8046: connect: connection refused [access_client]
./metadata-service.log:2023-12-11T17:14:04.513Z [jfmd ] [INFO ] [7790c4438fdc1545] [accessclient.go:58            ] [main                ] - Cluster join: Retry 10: Service registry ping failed, will retry. Error: Error while trying to connect to local router at address 'http://localhost:8046/access': Get "http://localhost:8046/access/api/v1/system/ping": dial tcp 127.0.0.1:8046: connect: connection refused [access_client]
./metadata-service.log:2023-12-11T17:14:09.518Z [jfmd ] [INFO ] [7790c4438fdc1545] [accessclient.go:58            ] [main                ] - Cluster join: Retry 15: Service registry ping failed, will retry. Error: Error while trying to connect to local router at address 'http://localhost:8046/access': Get "http://localhost:8046/access/api/v1/system/ping": dial tcp 127.0.0.1:8046: connect: connection refused [access_client]
./metadata-service.log:2023-12-11T17:14:14.523Z [jfmd ] [INFO ] [7790c4438fdc1545] [accessclient.go:58            ] [main                ] - Cluster join: Retry 20: Service registry ping failed, will retry. Error: Error while trying to connect to local router at address 'http://localhost:8046/access': Get "http://localhost:8046/access/api/v1/system/ping": dial tcp 127.0.0.1:8046: connect: connection refused [access_client]
./metadata-service.log:2023-12-11T17:14:19.529Z [jfmd ] [INFO ] [7790c4438fdc1545] [accessclient.go:58            ] [main                ] - Cluster join: Retry 25: Service registry ping failed, will retry. Error: Error while trying to connect to local router at address 'http://localhost:8046/access': Get "http://localhost:8046/access/api/v1/system/ping": dial tcp 127.0.0.1:8046: connect: connection refused [access_client]
./metadata-service.log:2023-12-11T17:14:24.535Z [jfmd ] [INFO ] [7790c4438fdc1545] [accessclient.go:58            ] [main                ] - Cluster join: Retry 30: Service registry ping failed, will retry. Error: Error while trying to connect to local router at address 'http://localhost:8046/access': Get "http://localhost:8046/access/api/v1/system/ping": dial tcp 127.0.0.1:8046: connect: connection refused [access_client]
./metadata-service.log:2023-12-11T17:14:29.540Z [jfmd ] [INFO ] [7790c4438fdc1545] [accessclient.go:58            ] [main                ] - Cluster join: Retry 35: Service registry ping failed, will retry. Error: Error while trying to connect to local router at address 'http://localhost:8046/access': Get "http://localhost:8046/access/api/v1/system/ping": dial tcp 127.0.0.1:8046: connect: connection refused [access_client]
./metadata-service.log:2023-12-11T17:14:34.549Z [jfmd ] [INFO ] [7790c4438fdc1545] [accessclient.go:58            ] [main                ] - Cluster join: Retry 40: Service registry ping failed, will retry. Error: Error while trying to connect to local router at address 'http://localhost:8046/access': Get "http://localhost:8046/access/api/v1/system/ping": dial tcp 127.0.0.1:8046: connect: connection refused [access_client]
./metadata-service.log:2023-12-11T17:14:39.553Z [jfmd ] [INFO ] [7790c4438fdc1545] [accessclient.go:58            ] [main                ] - Cluster join: Retry 45: Service registry ping failed, will retry. Error: Error while trying to connect to local router at address 'http://localhost:8046/access': Get "http://localhost:8046/access/api/v1/system/ping": dial tcp 127.0.0.1:8046: connect: connection refused [access_client]
./metadata-service.log:2023-12-11T17:14:44.560Z [jfmd ] [INFO ] [7790c4438fdc1545] [accessclient.go:58            ] [main                ] - Cluster join: Retry 50: Service registry ping failed, will retry. Error: Error while trying to connect to local router at address 'http://localhost:8046/access': Get "http://localhost:8046/access/api/v1/system/ping": dial tcp 127.0.0.1:8046: connect: connection refused [access_client]
./metadata-service.log:2023-12-11T17:14:49.567Z [jfmd ] [INFO ] [7790c4438fdc1545] [accessclient.go:58            ] [main                ] - Cluster join: Retry 55: Service registry ping failed, will retry. Error: Error while trying to connect to local router at address 'http://localhost:8046/access': Failed to access :http://localhost:8046/access/api/v1/system/ping return status code : 404 [access_client]
./metadata-service.log:2023-12-11T17:14:54.581Z [jfmd ] [INFO ] [7790c4438fdc1545] [accessclient.go:58            ] [main                ] - Cluster join: Retry 60: Service registry ping failed, will retry. Error: Error while trying to connect to local router at address 'http://localhost:8046/access': Failed to access :http://localhost:8046/access/api/v1/system/ping return status code : 404 [access_client]
./derby.log:derby.stream.error.file=/opt/artifactory-pro-7.23.3/var/log/derby.log
./router-service.log:2023-12-11T17:13:58.430Z [jfrou] [INFO ] [1def5c82561bbf87] [join_executor.go:165          ] [main                ] - Cluster join: Retry 5: Service registry ping failed, will retry. Error: Get "http://localhost:8040/access/api/v1/system/ping": dial tcp 127.0.0.1:8040: connect: connection refused
./router-service.log:2023-12-11T17:14:33.435Z [jfrou] [INFO ] [1def5c82561bbf87] [join_executor.go:165          ] [main                ] - Cluster join: Retry 10: Service registry ping failed, will retry. Error: Get "http://localhost:8040/access/api/v1/system/ping": net/http: request canceled (Client.Timeout exceeded while awaiting headers)
./router-service.log:2023-12-11T17:14:48.765Z [jfrou] [WARN ] [247ce34e499a06b3] [local_topology.go:256         ] [main                ] - Readiness test failed with the following error: "required node services are missing or unhealthy"
./router-service.log:2023-12-11T17:14:53.765Z [jfrou] [WARN ] [5c32b526382b6e4f] [local_topology.go:256         ] [main                ] - Readiness test failed with the following error: "required node services are missing or unhealthy"
./router-service.log:2023-12-11T17:14:58.835Z [jfrou] [WARN ] [5325465ff82f1275] [local_topology.go:256         ] [main                ] - Readiness test failed with the following error: "required node services are missing or unhealthy"
./router-service.log:2023-12-11T17:15:03.791Z [jfrou] [WARN ] [4a301100487b2aa1] [local_topology.go:256         ] [main                ] - Readiness test failed with the following error: "required node services are missing or unhealthy"
./router-service.log:2023-12-11T17:15:08.774Z [jfrou] [WARN ] [300060dfe4f22c04] [local_topology.go:256         ] [main                ] - Readiness test failed with the following error: "required node services are missing or unhealthy"

MavenError:

Error

ERROR: Failed to parse POMs hudson.remoting.ProxyException: hudson.maven.MavenModuleSetBuild$MavenExecutionException: org.apache.maven.project.ProjectBuildingException: Some problems were encountered while processing the POMs: [ERROR] Non-resolvable import POM: Could not transfer artifact org.jboss.bom:eap-runtime-artifacts:pom:7.3.0.GA from/to central (https://dpadvisor.artifactory.cec.lab.emc.com:443/artifactory/dpadvisor-all-repos): transfer failed for https://dpadvisor.artifactory.cec.lab.emc.com:443/artifactory/dpadvisor-all-repos/org/jboss/bom/eap-runtime-artifacts/7.3.0.GA/eap-runtime-artifacts-7.3.0.GA.pom @ line 945, column 16 [ERROR] Non-resolvable import POM: Could not transfer artifact org.jboss.eap:jboss-eap-parent:pom:7.3.0.GA-redhat-00004 from/to central (https://dpadvisor.artifactory.cec.lab.emc.com:443/artifactory/dpadvisor-all-repos): transfer failed for https://dpadvisor.artifactory.cec.lab.emc.com:443/artifactory/dpadvisor-all-repos/org/jboss/eap/jboss-eap-parent/7.3.0.GA-redhat-00004/jboss-eap-parent-7.3.0.GA-redhat-00004.pom @ line 953, column 16 [ERROR] Non-resolvable import POM: Could not transfer artifact org.jboss.arquillian:arquillian-bom:pom:1.1.7.Final from/to central (https://dpadvisor.artifactory.cec.lab.emc.com:443/artifactory/dpadvisor-all-repos): transfer failed for https://dpadvisor.artifactory.cec.lab.emc.com:443/artifactory/dpadvisor-all-repos/org/jboss/arquillian/arquillian-bom/1.1.7.Final/arquillian-bom-1.1.7.Final.pom @ line 968, column 16 at hudson.maven.MavenModuleSetBuild$PomParser.invoke(MavenModuleSetBuild.java:1391) at hudson.maven.MavenModuleSetBuild$PomParser.invoke(MavenModuleSetBuild.java:1124) at hudson.FilePath$FileCallableWrapper.call(FilePath.java:3578) at hudson.remoting.UserRequest.perform(UserRequest.java:211) at hudson.remoting.UserRequest.perform(UserRequest.java:54) at hudson.remoting.Request$2.run(Request.java:377) at hudson.remoting.InterceptingExecutorService.lambda$wrap$0(InterceptingExecutorService.java:78) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:834) Suppressed: hudson.remoting.Channel$CallSiteStackTrace: Remote call to dpavblxslave4 at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1784) at hudson.remoting.UserRequest$ExceptionResponse.retrieve(UserRequest.java:356) at hudson.remoting.Channel.call(Channel.java:1000) at hudson.FilePath.act(FilePath.java:1192) at hudson.FilePath.act(FilePath.java:1181) at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.parsePoms(MavenModuleSetBuild.java:985) at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.doRun(MavenModuleSetBuild.java:689) at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:526) at hudson.model.Run.execute(Run.java:1900) at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:543) at hudson.model.ResourceController.execute(ResourceController.java:101) at hudson.model.Executor.run(Executor.java:442)

AWS Error: DescribeAutoScalingGroups because no identity-based policy allows

Error

User: arn:aws:iam::254420364415:user/airbus is not authorized to perform: autoscaling:DescribeAutoScalingGroups because no identity-based policy allows the autoscaling:DescribeAutoScalingGroups action

Solution

Add a right IAM policy to IAM user or IAM group

AWS Error: EFS Mount issues Mount attempt

Error

Mount attempt 1/3 failed due to timeout after 15 sec, wait 0 sec before next attempt.

Solution

Check EGRESS of EFS and its should be allowed
Your EFS file system’s security group must have an inbound rule that allows NFS traffic from the CIDR for your cluster’s VPC. Allow port 2049 for inbound traffic.
The security group that’s associated with your worker nodes where the pods are failing to mount the EFS volume must have an outbound rule. Specifically, this outbound rule must allow NFS traffic (port 2049) to the EFS file system.
If the security group doesn’t allow NFS traffic, then the pods that are mounting the file system return the following errors:
“mount.nfs: Connection timed out”
“Unable to attach or mount volumes: timed out waiting for the condition”

AWS Error: Access denied by EC2 Instance Connect

Error:

Failed to connect to your instance
Access denied by EC2 Instance Connect. Either your AWS credentials are not valid or you do not have access to the EC2 instance.

Solution

Policy Name – EC2InstanceConnect

Allows customers to call EC2 Instance Connect to publish ephemeral keys to their EC2 instances and connect via ssh or the EC2 Instance Connect CLI.

How to get Blackduck Trial version?


There are two ways to get a Black Duck trial version:

  1. Request a trial through the Synopsys website. To do this, go to the Synopsys website and click on the “Try It Now” button. You will then be asked to fill out a form with your contact information and company details. Once you have submitted the form, a Synopsys sales representative will contact you to schedule a demo and provide you with access to a trial version of the software.
  2. Sign up for a free account on Open Hub. Open Hub is a free community platform that provides access to open source code and tools. Black Duck offers a free trial version of its software through Open Hub. To sign up for a free account, go to the Open Hub website and click on the “Sign Up” button. You will then be asked to create an account and provide some basic information about yourself. Once you have created an account, you will be able to access the Black Duck trial version.

PHP ionCube Error: cannot be decoded by this version of the ionCube Loader

Error

[Sat Dec 02 05:31:14.814821 2023] [charset_lite:debug] [pid 1053332] mod_charset_lite.c(219): [client 122.171.23.62:11782] AH01448: incomplete configuration: src unspecified, dst unspecified
[Sat Dec 02 05:31:14.815037 2023] [authz_core:debug] [pid 1053332] mod_authz_core.c(818): [client 122.171.23.62:11782] AH01626: authorization result of Require all granted: granted
[Sat Dec 02 05:31:14.815047 2023] [authz_core:debug] [pid 1053332] mod_authz_core.c(818): [client 122.171.23.62:11782] AH01626: authorization result of <RequireAny>: granted
[Sat Dec 02 05:31:14.815066 2023] [charset_lite:debug] [pid 1053332] mod_charset_lite.c(219): [client 122.171.23.62:11782] AH01448: incomplete configuration: src unspecified, dst unspecified
[Sat Dec 02 05:31:14.815096 2023] [charset_lite:debug] [pid 1053332] mod_charset_lite.c(219): [client 122.171.23.62:11782] AH01448: incomplete configuration: src unspecified, dst unspecified
[Sat Dec 02 05:31:14.829531 2023] [php:error] [pid 1053332] [client 122.171.23.62:11782] PHP Fatal error:  The file /opt/lampp/htdocs/airegistry.co/app/Src/Application.php encoded as type [1/81] cannot be decoded by this version of the ionCube Loader.\n in Unknown on line 0
[Sat Dec 02 05:31:14.833073 2023] [ssl:debug] [pid 1053332] ssl_engine_io.c(1151): [client 122.171.23.62:11782] AH02001: Connection closed to child 1 with standard shutdown (server airegistry.co:80)

Solution

This issue ocurred to us coz of ionCube was only supported php8.1 but we were running with php8.2

Here’s what this error means and how you can address it:

  1. IonCube Loader Version Mismatch: The file Application.php is encoded with a version of ionCube that is not compatible with the version of ionCube Loader installed on your server. The ionCube Loader is a PHP extension that runs files encoded with ionCube to protect the source code from being viewed or modified.
  2. Check IonCube Loader Version: Determine which version of ionCube Loader is currently installed on your server. You can do this by creating a PHP info file (a file with <?php phpinfo(); ?> content) and accessing it via your web browser. Look for the ionCube Loader section to find out the version.
  3. Update IonCube Loader: If the ionCube Loader version is outdated or not compatible with the encoded file, you’ll need to update it. You can download the latest version of ionCube Loader from the official ionCube website. Ensure you choose the correct version for your PHP version.
  4. Re-encode Files (if necessary): If updating the ionCube Loader doesn’t solve the issue, the file might be encoded with a newer version of ionCube that is incompatible with your PHP version. If you have access to the source code and the ionCube encoder, re-encode the files with a compatible version.
  5. PHP Version Compatibility: Ensure that your PHP version is compatible with the ionCube Loader version you are using. Sometimes, upgrading PHP can lead to compatibility issues with the ionCube Loader.
  6. Server Configuration: After updating the ionCube Loader, you may need to modify your PHP configuration (php.ini) to load the new version. The installation process typically includes instructions on how to do this.
  7. Restart Web Server: After making changes to the PHP configuration or updating the ionCube Loader, remember to restart your web server (Apache, Nginx, etc.) for the changes to take effect.
  8. Check for Error Logs: If the problem persists, check the Apache/PHP error logs for more detailed information. This can provide further insights into the issue.

Cloudbees CD/RO Error: ectool

Error

ubuntu@ip-172-31-52-75:~/CloudBeesFlowTools-2023.10.0.169425/bin$ ./ectool
./ectool: 61: exec: /home/ubuntu/CloudBeesFlowTools-2023.10.0.169425/perl/bin/perl: Exec format error
ubuntu@ip-172-31-52-75:~/CloudBeesFlowTools-2023.10.0.169425/bin$ ./ec-perl
./ec-perl: 59: exec: /home/ubuntu/CloudBeesFlowTools-2023.10.0.169425/perl-legacy/bin/perl: Exec format error
ubuntu@ip-172-31-52-75:~/CloudBeesFlowTools-2023.10.0.169425/bin$ ./ec-groovy
COMMANDER_HOME environment variable must be defined
ubuntu@ip-172-31-52-75:~/CloudBeesFlowTools-2023.10.0.169425/bin$ ./dslsync
Error: could not find ./jre/bin/java

Elast Agent Error: Received fatal alert: bad_certificate

Error

[2023-11-15T03:54:06,861][WARN ][o.e.h.AbstractHttpServerTransport] [ip-172-31-95-25] caught exception while handling client http traffic, closing connection Netty4HttpChannel{localAddress=/172.31.95.25:9200, remoteAddress=/172.31.95.25:38564}io.netty.handler.codec.DecoderException: javax.net.ssl.SSLHandshakeException: Received fatal alert: bad_certificate
at io.netty.codec@4.1.94.Final/io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:499)
at io.netty.codec@4.1.94.Final/io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:290)
at io.netty.transport@4.1.94.Final/io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
at io.netty.transport@4.1.94.Final/io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
at io.netty.transport@4.1.94.Final/io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
See logs for more details.

Solution

Add ssl.verification_mode: none in elastic-agent.yml
$ systemctl stop elastic-agent
$ cd /opt/Elastic/Agent
$ vi elastic-agent.yml
$ systemctl start elastic-agent
$ systemctl status elastic-agent
outputs:
default:
type: elasticsearch
hosts:
- 'https://172.31.95.25:9200'
username: 'elastic'
password: '7SNe*fn_aqroKovhjH4E'
ssl.verification_mode: none
output_permissions: