All notable changes to this project will be documented in this file.
- Added
fork
,unfork
andreset
control requests.fork
request enables fork mode when blockhain config and account state is downloaded from the provided GraphQL endpoint before transationunfork
request disable fork mode and returns original blockchain configreset
request clears node database and restarts it from scratch
- Use common block parser
- Aborted transaction VM trace is put into transaction JSON field
trace
- Added node time mode
seq
– sequential. In this mode node produces single block for each transaction. All blocks havegen_utime
equals to thegen_utime
of the previous block + 1 sec.
Use/se/seq-mode-on
endpoint to turn the mode on.
Read more in SE live control (REST API) section - New forward fee config from Everscale mainnet.
- Internal structure was simplified.
TonNodeEngine
was isolated from API services.- Added
MemDocumentsDb
– to useTonNodeEngine
without ArangoDB but with access to produced parsed artefacts. - Added
ShardStorage
based on the single and simpleKVStorage
as a shardstate internal storage instead of four independent storages. - Added
MemStorage
andFSStorage
as two main shard storage implementations. - Added
TonEngine.time
with responsibility for a block time management. TonNodeEngine
can be used as an in-memory blockchain emulator. It is useful for example for smart contract testing.
- Build docker image with q-server v0.55.0
- Post request with several external messages processed only of the messages
- Produces masterchain block for each workchain block.
- Added ability to update blockchain config with node restart (without killing the database). After changing the config stop and start the node to apply it. It will produce new key block from the new config.
CapSignatureWithId
capability is supported:global_id
parameter is used as asignature_id
ifCapSignatureWithId
cap is turned
on in the blockchain config.
- The list of givers was refactored.
global_id
parameter inton-node.conf.json
is written into blocks.
- Giver
0:b5e5...a19a5
was removed. See the list of recommended givers.
- Ever Live explorer, as well as Evernode SE can be run on a host with fully qualified domain name.
- Running arango container on M1 arch (downgrade ArangoDB version to 3.7.11)
- ArangoDB version is increased to 3.10.1
- Memory management section Memory limits is added to README
CapFullBodyInBounced
is enabled to put full body in bounced messageCapCopyleft
is enabled to use contracts with copyleft instructions (but does not work fully yet because masterchain is not yet supported in SE)
- Account balance was not updated after account destruction
- Account was not reflected in DB if it was created and deleted in one block
- Max ext_in_msg size is 64kb
- Blockchain API is supported (except
blockchain{ key_blocks }
)
- Incorrect inner message order
- Account with
nonExist
acc_type was created upon a failed deploy
- Gosh VM instructions are supported:
- execute_diff
- execute_diff_patch_not_quiet
- execute_zip
- execute_unzip
- execute_diff_zip
- execute_diff_patch_zip_not_quiet
- execute_diff_patch_quiet
- execute_diff_patch_zip_quiet
- execute_diff_patch_binary_not_quiet
- execute_diff_patch_binary_zip_not_quiet
- execute_diff_patch_binary_quiet
- execute_diff_patch_binary_zip_quiet
- Inner refactoring that increases message processing speed by 70-400% depending on the test logic.
/se/time-delta
returns currentgen_time_delta
property value.
- Block producing stopped if million of gas is consumed
- Waiting of new external messages added
- Block builder processes internal messages in the same block
log_path
config field for configuring node log file location./se
REST endpoint for SE realtime control. See README.md./se/increase-time?delta=<seconds>
feature to move time forward. See README.md- PoA consensus was removed from source code.
- Source code drastically simplified and reorganised.
- Randomization added for block generation
- Extra thread creation was removed
- Tokio crate dependencies were removed
- Extra crate dependencies were removed
- tvm.random() now generates random values
- Build with new version q-server 0.51.0
- Build with new version q-server 0.49.0
- Account has new field
init_code_hash
q-server
0.47.0 withX-Evernode-Expected-Account-Boc-Version
header support
- Build with new version q-server 0.46.0
MYCODE
VM instruction supported
- Support breaking changes in
ton-labs-block-json
v0.7.1
- Fixed honcho version in order to fix container start (ignoring incompatible release).
- Internal fixes in order to fix building.
- Internal fixes in order to fix building.
- Build with new version q-server 0.43.0
- Predeployed fixed version of Giver V2 (with the new address). The old version of giver left at the same old address for backward compatibility.
- Removed useless adnl to fix the build process.
- Build with new version q-server 0.41.0
- tvm.rawReserve function now correctly reacts on all flags.
- Made code ready for planned updates in dependant repositories
- Fixed previous bugfix. If you still have an error running TON Live explorer, clear your browser cache.
- reloading any page (except
/
and/landing
page) failed with 404 error
- Predeployed SafeMultisigWallet contract with 1 million tokens.
- Improved logging. Added TVM log (tvm.log file).
- Contract freezing on receiving bounceable message when balance is zero.
- Crashes of logging in docker.
- Transaction could be lost if it was created near the end of block producing interval. Again
- Subscriptions for blocks, transactions and messages do not trigger multiple times any more.
- Support of blockchain config parameters.
- Ability to change the default blockchain config parameters.
- TON live explorer running on the same IP and port as TON OS SE, just open http://ip_address:port (e.g. http://127.0.0.1).
You can explore blocks, transactions, accounts and messages of your TON OS SE
- Transaction could be lost if it was created near the end of block producing interval.
- External inbound messages now have
created_at
field filled.
- New high-load Giver with ABI Version 2 is supported. Now you can run your tests in parallel, giver supports up to 100 parallel requests at a time (previous giver had timestamp-based replay protection which didn't allow often access)
- Documentation update
- Internal messages are sent in correct order regarding LT
- Internal Server Error 500 on some queries. Hangs during deployment of some contracts.
- Bounced message is now sent properly