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

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
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?
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
?
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 ;/
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.
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)
`
"@ton-community/func-js-bin": "0.4.5-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',
});
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'});
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?
Jul 21, 2023, 9:41 AM
yeah, it is some bytecode
Jul 21, 2023, 9:42 AM

Ā© 2024 Draquery.com All rights reserved.