Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 1b7439f
Showing
2,980 changed files
with
735,688 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
# Auto detect text files and perform LF normalization | ||
* text=auto |
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
This archive is a distribution of a preliminary version of the TON Blockchain Lite Client along with the relevant portions of the TON Blockchain Library. It is not necessarily representative of the totality of the TON Blockchain code developed so far; rather it is a simplified stable version, containing only those files that are necessary for compiling the Lite Client, and sometimes outdated versions of these files sufficient for this purpose. | ||
|
||
Use this software at your own risk; consult the DISCLAIMER for more information. | ||
|
||
The software is licensed under GNU Lesser General Public License version 2 or later; consult LICENSE.LGPL and LGPL.v2 for more information. If you ever use any of these source files to develop your own versions of this or other software, you must attach a comment with the contents of LGPL.v2 to the beginning of each source file taken from this archive. | ||
|
||
The software is likely to compile and work properly on most Linux systems. It should work on macOS and even Windows; however, we do not guarantee this for this preliminary version. | ||
|
||
BASIC COMPILATION AND INSTALLATION INSTRUCTIONS | ||
|
||
1) Download and unpack the newest version of this archive, available at | ||
|
||
https://test.ton.org/download | ||
|
||
The TON Blockchain Test Network is updated quite often, so we cannot guarantee that older versions of the Lite Client will always work. Backward compatibility is not enforced at this development stage. | ||
|
||
2) Install the newest versions of make, cmake (version 3.0.2 or later), OpenSSL (including C header files), and g++ or clang (or another C++14-compatible compiler as appropriate for your operating system). | ||
|
||
3) Suppose that you have unpacked this archive to directory ~/lite-client, where ~ is your home directory, and that you have created an empty directory ~/liteclient-build. Then run the following in a terminal on a Linux system: | ||
|
||
cd ~/liteclient-build | ||
cmake ~/lite-client | ||
cmake --build . --target test-lite-client | ||
|
||
You might also want to build some extra utilities useful for smart-contract development: | ||
|
||
cmake --build . --target fift | ||
|
||
4) Download the newest configuration file from https://test.ton.org/ton-lite-client-test1.config.json : | ||
|
||
wget https://test.ton.org/ton-lite-client-test1.config.json | ||
|
||
5) Run the Lite Client: | ||
|
||
./test-lite-client -C ton-lite-client-test1.config.json | ||
|
||
If everything was installed successfully, the Lite Client will connect to a special server (a full node for the TON Blockchain Test Network #1) and will send some queries to the server. | ||
If you indicate a writeable "database" directory as an extra argument to the client, it will download and save the block and the state corresponding to the newest masterchain block: | ||
|
||
./test-lite-client -C ton-lite-client-test1.config.json -D ~/ton-db-dir | ||
|
||
Basic help info can be obtained by typing "help" into the Lite Client. Type "quit" or press Ctrl-C to exit. | ||
|
||
6) Now you can create new smart contracts, examine the state of existing smart contracts, send external messages to smart contracts and so on. You can also use Fift (if you have compiled it) to compile, execute, and debug your smart contracts locally. | ||
|
||
More details on these activities, including step-by-step instructions for creating a simple wallet smart contract (along with its source code), may be found in the HOWTO file included in this archive. | ||
|
||
7) Some documentation on the TON Blockchain and TON Virtual Machine may be found at the download page https://test.ton.org/download . Be aware that this documentation may not be completely in sync with the version currently employed by the Test Network, because some minor implementation details are likely to be changed during the final development and testing phases. |
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
{ | ||
"@type": "config.global", | ||
"liteclients": [ | ||
{ | ||
"@type": "liteclient.config.global", | ||
"ip": 1137658550, | ||
"port": 4924, | ||
"id": { | ||
"@type": "adnl.id.ed25519", | ||
"key": "peJTw/arlRfssgTuf9BMypJzqOi7SXEqSPSWiEw2U1M=" | ||
} | ||
} | ||
] | ||
} |
66 changes: 66 additions & 0 deletions
66
ton-test-liteclient-full/lite-client/CMake/AddCXXCompilerFlag.cmake
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
# - Adds a compiler flag if it is supported by the compiler | ||
# | ||
# This function checks that the supplied compiler flag is supported and then | ||
# adds it to the corresponding compiler flags | ||
# | ||
# add_cxx_compiler_flag(<FLAG> [<VARIANT>]) | ||
# | ||
# - Example | ||
# | ||
# include(AddCXXCompilerFlag) | ||
# add_cxx_compiler_flag(-Wall) | ||
# add_cxx_compiler_flag(-no-strict-aliasing RELEASE) | ||
# Requires CMake 2.6+ | ||
|
||
if(__add_cxx_compiler_flag) | ||
return() | ||
endif() | ||
set(__add_cxx_compiler_flag INCLUDED) | ||
|
||
include(CheckCXXCompilerFlag) | ||
|
||
function(mangle_compiler_flag FLAG OUTPUT) | ||
string(TOUPPER "HAVE_CXX_FLAG_${FLAG}" SANITIZED_FLAG) | ||
string(REPLACE "+" "X" SANITIZED_FLAG ${SANITIZED_FLAG}) | ||
string(REGEX REPLACE "[^A-Za-z_0-9]" "_" SANITIZED_FLAG ${SANITIZED_FLAG}) | ||
string(REGEX REPLACE "_+" "_" SANITIZED_FLAG ${SANITIZED_FLAG}) | ||
set(${OUTPUT} "${SANITIZED_FLAG}" PARENT_SCOPE) | ||
endfunction(mangle_compiler_flag) | ||
|
||
function(add_cxx_compiler_flag FLAG) | ||
string(REPLACE "-Wno-" "-W" MAIN_FLAG ${FLAG}) | ||
mangle_compiler_flag("${MAIN_FLAG}" MANGLED_FLAG) | ||
set(OLD_CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS}") | ||
set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} ${FLAG}") | ||
check_cxx_compiler_flag("${MAIN_FLAG}" ${MANGLED_FLAG}) | ||
set(CMAKE_REQUIRED_FLAGS "${OLD_CMAKE_REQUIRED_FLAGS}") | ||
if(${MANGLED_FLAG}) | ||
set(VARIANT ${ARGV1}) | ||
if(ARGV1) | ||
string(TOUPPER "_${VARIANT}" VARIANT) | ||
endif() | ||
set(CMAKE_CXX_FLAGS${VARIANT} "${CMAKE_CXX_FLAGS${VARIANT}} ${FLAG}" PARENT_SCOPE) | ||
endif() | ||
endfunction() | ||
|
||
function(add_required_cxx_compiler_flag FLAG) | ||
string(REPLACE "-Wno-" "-W" MAIN_FLAG ${FLAG}) | ||
mangle_compiler_flag("${MAIN_FLAG}" MANGLED_FLAG) | ||
set(OLD_CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS}") | ||
set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} ${FLAG}") | ||
check_cxx_compiler_flag("${MAIN_FLAG}" ${MANGLED_FLAG}) | ||
set(CMAKE_REQUIRED_FLAGS "${OLD_CMAKE_REQUIRED_FLAGS}") | ||
if(${MANGLED_FLAG}) | ||
set(VARIANT ${ARGV1}) | ||
if(ARGV1) | ||
string(TOUPPER "_${VARIANT}" VARIANT) | ||
endif() | ||
set(CMAKE_CXX_FLAGS${VARIANT} "${CMAKE_CXX_FLAGS${VARIANT}} ${FLAG}" PARENT_SCOPE) | ||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${FLAG}" PARENT_SCOPE) | ||
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${FLAG}" PARENT_SCOPE) | ||
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${FLAG}" PARENT_SCOPE) | ||
set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} ${FLAG}" PARENT_SCOPE) | ||
else() | ||
message(FATAL_ERROR "Required flag '${FLAG}' is not supported by the compiler") | ||
endif() | ||
endfunction() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
# - Try to find MHD | ||
# Once done this will define | ||
# | ||
# MHD_FOUND - system has MHD | ||
# MHD_INCLUDE_DIRS - the MHD include directory | ||
# MHD_LIBRARY - Link these to use MHD | ||
|
||
find_path( | ||
MHD_INCLUDE_DIR | ||
NAMES microhttpd.h | ||
DOC "microhttpd include dir" | ||
) | ||
|
||
find_library( | ||
MHD_LIBRARY | ||
NAMES microhttpd microhttpd-10 libmicrohttpd libmicrohttpd-dll | ||
DOC "microhttpd library" | ||
) | ||
|
||
set(MHD_INCLUDE_DIRS ${MHD_INCLUDE_DIR}) | ||
set(MHD_LIBRARIES ${MHD_LIBRARY}) | ||
|
||
# debug library on windows | ||
# same naming convention as in qt (appending debug library with d) | ||
# boost is using the same "hack" as us with "optimized" and "debug" | ||
# official MHD project actually uses _d suffix | ||
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") | ||
find_library( | ||
MHD_LIBRARY_DEBUG | ||
NAMES microhttpd_d microhttpd-10_d libmicrohttpd_d libmicrohttpd-dll_d | ||
DOC "mhd debug library" | ||
) | ||
set(MHD_LIBRARIES optimized ${MHD_LIBRARIES} debug ${MHD_LIBRARY_DEBUG}) | ||
endif() | ||
|
||
include(FindPackageHandleStandardArgs) | ||
find_package_handle_standard_args(mhd DEFAULT_MSG MHD_INCLUDE_DIR MHD_LIBRARY) | ||
mark_as_advanced(MHD_INCLUDE_DIR MHD_LIBRARY) |
25 changes: 25 additions & 0 deletions
25
ton-test-liteclient-full/lite-client/CMake/FindReadline.cmake
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
if (APPLE) | ||
find_path(READLINE_INCLUDE_DIR readline/readline.h /usr/local/opt/readline/include /opt/local/include /opt/include /usr/local/include /usr/include NO_DEFAULT_PATH) | ||
endif() | ||
find_path(READLINE_INCLUDE_DIR readline/readline.h) | ||
|
||
if (APPLE) | ||
find_library(READLINE_LIBRARY readline /usr/local/opt/readline/lib /opt/local/lib /opt/lib /usr/local/lib /usr/lib NO_DEFAULT_PATH) | ||
endif() | ||
find_library(READLINE_LIBRARY readline) | ||
|
||
if (READLINE_INCLUDE_DIR AND READLINE_LIBRARY AND NOT GNU_READLINE_FOUND) | ||
set(CMAKE_REQUIRED_INCLUDES "${READLINE_INCLUDE_DIR}") | ||
set(CMAKE_REQUIRED_LIBRARIES "${READLINE_LIBRARY}") | ||
include(CheckCXXSourceCompiles) | ||
unset(GNU_READLINE_FOUND CACHE) | ||
check_cxx_source_compiles("#include <stdio.h>\n#include <readline/readline.h>\nint main() { rl_replace_line(\"\", 0); }" GNU_READLINE_FOUND) | ||
if (NOT GNU_READLINE_FOUND) | ||
unset(READLINE_INCLUDE_DIR CACHE) | ||
unset(READLINE_LIBRARY CACHE) | ||
endif() | ||
endif() | ||
|
||
include(FindPackageHandleStandardArgs) | ||
find_package_handle_standard_args(Readline DEFAULT_MSG READLINE_INCLUDE_DIR READLINE_LIBRARY) | ||
mark_as_advanced(READLINE_INCLUDE_DIR READLINE_LIBRARY) |
Oops, something went wrong.