Block 832846
Added automated tests for several libraries
smartholdem-rpc
smartholdem-blockexplorer
sth-js
Automated test systems use several projects, including the bitcoin core command, automated tests eliminate many problems in development and testing *
Completely completed and ready for use library [smartholdem-rpc] (
https://github.com/smartholdem/smartholdem-rpc), the latest version added parameters for working with RPC Json on whitelist ip:
Receiving requests from the specified address
--allow <address>
Receiving requests from all addresses, for testing and configuration
--allow-remote
Added working generation of hierarchical addresses with masterpassword based on the protocol [bip38] (https://github.com/bitcoin/bips/blob/master/bip-0038.mediawiki)
Added [protocol for generation of specialized qr-codes] (
https://github.com/smartholdem/smartholdem-qr) with uri based on the protocol [bip021] (
https://github.com/bitcoin/bips/blob/master /bip-0021.mediawiki) required for billing, payment by links, a new version of the desktop wallet
The public media repository [smartmedia] (
https://github.com/smartholdem/smartmedia) is constantly updated
The section [SmartHoldem Improvement Proposals (SHIPs) (
https://github.com/smartholdem/SHIPs) with its own template, analog BitCoin BIP was announced, in this section future implementations of the SmartHoldem platform are proposed for implementation
Created [Lite Java Client] (
https://github.com/smartholdem/smartholdem-java) for interaction with blockchain SmartHoldem, this is one of the 4 required deployment libraries for SmartEvents Contracts and the new event log of service interaction.
A separate group of repositories is created [SmartEvents] (
https://github.com/SmartEvents) is aimed at the development of SmartEvents protocols, contracts and a new event-based approach to interaction with blockchain platforms, here:
** Foreword **
Many people know when you interact with servers to get data that you usually use the approach when you periodically access the server to get the requested data, for example, through cron 1 time per minute you check the availability of new transactions in your wallet, or for example a simple chat when you need to contact to the server database every second with a request for data on new messages, this approach is obviously ineffective.
According to the research of many campaigns, 99% of the server resources are wasted due to "idle" calls to databases on the network, which leads to additional costs of building up server hardware (RAM, CPU etc ..)
** Our Vision **
100% efficiency of resource use versus 1%, reduction of server costs. This problem is solved by the development of an event-based approach consisting of listeners and service providers.
A member of the SmartHoldem network can become both listeners and service providers and receive additional remuneration paid by consumers for this. Service consumers are applications and campaigns that use trusted community-provided services.
Alternatively, service consumers can raise their listeners and service providers on their own servers. Do not use trusted remote services.
How it works
Example 1 - you need to receive information about incoming transactions to thousands of addresses
Listeners listen to network events in the blockchain locally / remotely, creating more opportunities for network users and decentralizing the service. The API allows consumers to create subscriptions and receive blockchain events in real time using Webhook callbacks.
Services handle events and fulfill any specified conditions and contracts. Create and execute service contracts, which can be anything from downloading a file to transferring values, creating smart contracts, executing code on bockchain-based computing platforms, or interacting with Iot.
The customer of services (for example, the exchange with thousands of SmartHoldem addresses) subscribes to events on the network, in our example this is the transaction receipt to N1000 + addresses with the condition of 5+ confirmations.
When the event occurs, the Services perform the necessary logic, for example, send a POST notification to the database / Callback URL about the receipt of a new confirmed transaction and add the STH balance to the user's account.
*! It excludes any extra load on the server and 100% efficiency with minimal resource consumption. *
Event-based technology is also used in contract deterministic events.
The example is maximally simplified in understanding the basic principles of interaction of nodes.
As security, you can use the white list, trusted sites, and the unique API Key, which is received by the consumer of services based on the STH-Address. Those. all requests on the network occur with authorization. Requests without authorization are rejected by the services and listeners of the network.
To receive the Api Key, the consumer replenishes his STH address with the necessary amount of service from 0 to N coins. If the consumer is also a provider of own services, he can set 0.
If the consumer uses trusted service providers, the service will be provided until the entire balance of the signed address with the API Key in favor of the service provider is wasted. The recommended initial amount for service providers is 100 units.
Services and contracts are unlimited in their modifications. Primary services and events can be as follows:
a new block was created - perform the operation
a transaction was received at address A with the number of confirmations N
a transaction was received at address A with the number of confirmations N and the sum> S
Bet on the game event E
Game event + service contract initiated
Block N received
direct exchange of BTC> STH through the network + contract
etc..