feat: upgrade index information and readme

This commit is contained in:
Urko 2023-07-20 09:03:22 +02:00
parent c0c90d5105
commit e6016340ce
2 changed files with 25 additions and 0 deletions

View File

@ -2,6 +2,9 @@
Bitcoin Payment Checker is a Go application that allows clients to pay for orders using Bitcoin. The application calculates the Bitcoin equivalent of the order amount, provides a wallet address for payment, and tracks the payment status. Bitcoin Payment Checker is a Go application that allows clients to pay for orders using Bitcoin. The application calculates the Bitcoin equivalent of the order amount, provides a wallet address for payment, and tracks the payment status.
## Demo
You can try it here on bitcoin testnet: https://btcpaychecker.urkob.com/
## Application Structure ## Application Structure
The application is structured into several packages: The application is structured into several packages:

View File

@ -95,6 +95,7 @@
<nav> <nav>
<ul> <ul>
<li class="current"><a href="/">Home</a></li> <li class="current"><a href="/">Home</a></li>
<li class=""><a href="https://gitea.urkob.com/urko/btc-pay-checker">Source code</a></li>
</ul> </ul>
</nav> </nav>
</div> </div>
@ -195,6 +196,27 @@
<p>Please note that the exact method of displaying the response will depend on the specifics of your application <p>Please note that the exact method of displaying the response will depend on the specifics of your application
and its user interface.</p> and its user interface.</p>
</div> </div>
<h3>Rate Limiting</h3>
<p>To protect the service from potential denial-of-service (DoS) attacks, we have implemented rate limiting on our
server. This is done using a middleware in the Fiber framework.</p>
<p>The current configuration allows a maximum of 5 requests per client within a 30-minute window. If a client
exceeds this limit, further requests will be temporarily blocked until the rate falls below the limit.</p>
<p>This is achieved with the following configuration:</p>
<pre>
<code>
s.app.Use(limiter.New(limiter.Config{
Max: 5,
Expiration: 30 * time.Minute,
LimiterMiddleware: limiter.SlidingWindow{},
}))
</code>
</pre>
<p>Please be aware of this limit when integrating with our API to ensure a smooth user experience.</p>
</body> </body>
</html> </html>