I can't build the testnet branch š
Undefined symbols for architecture arm64:
"src::lexem_is_special(std::__1::basic_string, std::__1::allocator>)", referenced from:
src::Lexem::classify() in lexer.cpp.o
"sym::compute_symbol_subclass(std::__1::basic_string, std::__1::allocator>)", referenced from:
std::__1::__unique_if::__unique_single std::__1::make_unique[abi:v160004], std::__1::allocator>&, int>(std::__1::basic_string, std::__1::allocator>&, int&&) in symtable.cpp.o
ld: symbol(s) not found for architecture arm64
src::Lexem::classify() in lexer.cpp.o
"sym::compute_symbol_subclass(std::__1::basic_string
std::__1::__unique_if
ld: symbol(s) not found for architecture arm64
Jul 20, 2023, 4:21 PM
maybe blst should be upgraded š
like rocksdb
Jul 20, 2023, 4:22 PM
https://github.com/ProgramCrafter/ton-validator-modifications, build worked well for me.
(This is unofficial version combining new opcodes and toncli local opcodes.)
Jul 20, 2023, 4:47 PM
checking š
same as above š š
Jul 20, 2023, 5:18 PM
Yes, some libraries became inconsistent, the fix is on away.
As a workaround you can build external libraries manually. Like this (adjust the paths if necessary):
brew install automake autogen autoconf libtool texinfo
mkdir tools; cd tools
āā secp256k1
git clone https://github.com/bitcoin-core/secp256k1.git
cd secp256k1
git checkout v0.3.2
mkdir build && cd build
cmake .. -DSECP256K1_ENABLE_MODULE_RECOVERY=ON
make
cd ../..
āā libsodium
export LIBSODIUM_FULL_BUILD=1
git clone https://github.com/jedisct1/libsodium.git
cd libsodium
git checkout 1.0.18
./autogen.sh
./configure
make
cd ..
āā openssl
git clone https://github.com/openssl/openssl openssl_1_1_1
cd openssl_1_1_1
git checkout OpenSSL_1_1_1-stable
./Configure --prefix=/usr/local/macos darwin64-arm64-cc no-asm -static -mmacosx-version-min=10.15
make build_libs -j4
cd ton/build
cmake .. -DCMAKE_BUILD_TYPE=Release -DTON_ARCH= -Wno-dev -GNinja -DSODIUM_INCLUDE_DIR=/Users/administrator/tools/libsodium/src/libsodium/include -DSODIUM_LIBRARY_RELEASE=/Users/administrator/tools/libsodium/src/libsodium/.libs/libsodium.dylib -DSECP256K1_LIBRARY=/Users/administrator/tools/secp256k1/build/src/libsecp256k1.dylib -DSECP256K1_INCLUDE_DIR=/Users/administrator/tools/secp256k1/include -DOPENSSL_FOUND=1 -DOPENSSL_INCLUDE_DIR=/Users/administrator/tools/openssl_1_1_1/include -DOPENSSL_CRYPTO_LIBRARY=/Users/administrator/tools/openssl_1_1_1/libcrypto.a
As a workaround you can build external libraries manually. Like this (adjust the paths if necessary):
brew install automake autogen autoconf libtool texinfo
mkdir tools; cd tools
āā secp256k1
git clone https://github.com/bitcoin-core/secp256k1.git
cd secp256k1
git checkout v0.3.2
mkdir build && cd build
cmake .. -DSECP256K1_ENABLE_MODULE_RECOVERY=ON
make
cd ../..
āā libsodium
export LIBSODIUM_FULL_BUILD=1
git clone https://github.com/jedisct1/libsodium.git
cd libsodium
git checkout 1.0.18
./autogen.sh
./configure
make
cd ..
āā openssl
git clone https://github.com/openssl/openssl openssl_1_1_1
cd openssl_1_1_1
git checkout OpenSSL_1_1_1-stable
./Configure --prefix=/usr/local/macos darwin64-arm64-cc no-asm -static -mmacosx-version-min=10.15
make build_libs -j4
cd ton/build
cmake .. -DCMAKE_BUILD_TYPE=Release -DTON_ARCH= -Wno-dev -GNinja -DSODIUM_INCLUDE_DIR=/Users/administrator/tools/libsodium/src/libsodium/include -DSODIUM_LIBRARY_RELEASE=/Users/administrator/tools/libsodium/src/libsodium/.libs/libsodium.dylib -DSECP256K1_LIBRARY=/Users/administrator/tools/secp256k1/build/src/libsecp256k1.dylib -DSECP256K1_INCLUDE_DIR=/Users/administrator/tools/secp256k1/include -DOPENSSL_FOUND=1 -DOPENSSL_INCLUDE_DIR=/Users/administrator/tools/openssl_1_1_1/include -DOPENSSL_CRYPTO_LIBRARY=/Users/administrator/tools/openssl_1_1_1/libcrypto.a
Jul 20, 2023, 5:22 PM
kind of magic, now I have func&fift for testnet... still, I'm trying to find where to replace the lib for json (or that's compiled inside :()
I'd need to replace funcfiftlib.js funcfiftlib.wasm + funcfiftlib.wasm.js
but how to build it?
but how to build it?
Emscripten?
Jul 21, 2023, 6:40 AM
Maybe you can use ready ones
https://github.com/ton-org/sandbox/tree/tvm-beta/src/executor
https://github.com/ton-community/func-js-bin/tree/main/src
?
https://github.com/ton-org/sandbox/tree/tvm-beta/src/executor
https://github.com/ton-community/func-js-bin/tree/main/src
?
Jul 21, 2023, 9:02 AM
I use these ones from func-js-bin but it doesn't work
the every contract generated and deployed has the strange symbols x{....} instead of asm commands
and the command fails with exit code 6
Jul 21, 2023, 9:06 AM
Could you use x{E912} @addop instead of ECRECOVER in asm?
Jul 21, 2023, 9:15 AM
I'll try
but with SWAPIFNULLs?
F912 is better š (x{F912} @Defop ECRECOVER)
Jul 21, 2023, 9:20 AM
Yes, E was a typo. Does it work now?
Jul 21, 2023, 9:21 AM
did generate x{F9126FA16FA56C31A602}
x{F9126FA16FA56C31A602} ... 20 times or more ;/
x{F9126FA16FA56C31A602} ... 20 times or more ;/
but it seems to be started with x{F912
Jul 21, 2023, 9:25 AM
exit code 6
means unknown opcode.
So probably bytecode is generated correctly but run on old emulator or in emulator without correct config.
means unknown opcode.
So probably bytecode is generated correctly but run on old emulator or in emulator without correct config.
Jul 21, 2023, 9:25 AM
I use testnet
https://testnet.tonviewer.com/kQBu0StuEmr7sa8DU8uU0Z92iIhl-ZqYI-K8F38F4p27wi7Z?section=Source+code
Jul 21, 2023, 9:26 AM
From where you get code 6?
Jul 21, 2023, 9:26 AM
Error: Unable to execute get method. Got exit_code: 6
at TonClient.runMethod (.../node_modules/ton/dist/client/TonClient.js:55:19)
at TonClient.runMethod (.../node_modules/ton/dist/client/TonClient.js:55:19)
`
"@ton-community/func-js-bin": "0.4.5-tvmbeta.1",
"@ton-community/func-js": "0.6.3-tvmbeta.1"
"@ton-community/func-js": "0.6.3-tvmbeta.1"
Jul 21, 2023, 9:27 AM
Use local executor from sandbox
Jul 21, 2023, 9:28 AM
Oh, it is not local, it is call to remote http api
What provider do you use?
Jul 21, 2023, 9:30 AM
you mean "mnemonic" etc? so for my repo i use mnemonic, but for sepzho I was using tonkeeper
Jul 21, 2023, 9:31 AM
Http api endpoint
Jul 21, 2023, 9:31 AM
No, probably it is ton-access/toncenter/your own http-ton-api endpoint? what exactly?
Jul 21, 2023, 9:31 AM
```const endpoint = await getHttpEndpoint({ network: "testnet" });```
https://ton.access.orbs.network/55B1c0ff5Bd3F8B62C092Ab4D238bEE463E655B1/1/testnet/toncenter-api-v2/jsonRPC
Jul 21, 2023, 9:32 AM
try this one
const client = new TonClient({ endpoint: 'https://testnet.toncenter.com/api/v2/jsonRPC',
});
const client = new TonClient({ endpoint: 'https://testnet.toncenter.com/api/v2/jsonRPC',
});
Jul 21, 2023, 9:34 AM
ok, that one returns a value
Jul 21, 2023, 9:39 AM
to increase ratelimit
get apikey here @tonapibot
const client = new TonClient({ endpoint: 'https://testnet.toncenter.com/api/v2/jsonRPC',
apikey:'your apikey'});
get apikey here @tonapibot
const client = new TonClient({ endpoint: 'https://testnet.toncenter.com/api/v2/jsonRPC',
apikey:'your apikey'});
Jul 21, 2023, 9:39 AM
ok I'll check
Jul 21, 2023, 9:40 AM
Nice, we will ask orbs to update their ton-access enpoints, thank you for testing
Jul 21, 2023, 9:40 AM
great:) thanks once again
so, the x{F912xyztv} means nothing wrong, yes?
so, the x{F912xyztv} means nothing wrong, yes?
Jul 21, 2023, 9:41 AM
yeah, it is some bytecode
Jul 21, 2023, 9:42 AM