ethers.js/lib.commonjs/providers/community.js

40 lines
1.7 KiB
JavaScript
Raw Permalink Normal View History

2022-09-05 16:57:11 -04:00
"use strict";
2022-12-02 21:27:06 -05:00
/**
* There are many awesome community services that provide Ethereum
* nodes both for developers just starting out and for large-scale
* communities.
*
* @_section: api/providers/thirdparty: Community Providers [thirdparty]
*/
2022-09-05 16:57:11 -04:00
Object.defineProperty(exports, "__esModule", { value: true });
exports.showThrottleMessage = void 0;
2022-12-02 21:27:06 -05:00
// Show the throttle message only once per service
2022-09-05 16:57:11 -04:00
const shown = new Set();
2022-12-02 21:27:06 -05:00
/**
* Displays a warning in tht console when the community resource is
* being used too heavily by the app, recommending the developer
* acquire their own credentials instead of using the community
* credentials.
*
* The notification will only occur once per service.
*/
2022-09-05 16:57:11 -04:00
function showThrottleMessage(service) {
if (shown.has(service)) {
return;
}
shown.add(service);
console.log("========= NOTICE =========");
console.log(`Request-Rate Exceeded for ${service} (this message will not be repeated)`);
console.log("");
console.log("The default API keys for each service are provided as a highly-throttled,");
console.log("community resource for low-traffic projects and early prototyping.");
console.log("");
console.log("While your application will continue to function, we highly recommended");
console.log("signing up for your own API keys to improve performance, increase your");
console.log("request rate/limit and enable other perks, such as metrics and advanced APIs.");
console.log("");
console.log("For more details: https:/\/docs.ethers.io/api-keys/");
console.log("==========================");
}
exports.showThrottleMessage = showThrottleMessage;
//# sourceMappingURL=community.js.map