Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How does tonlib-rs handle cross-platform compatibility currently? Are there any known issues or limitations? #86

Open
earthskyorg opened this issue Aug 27, 2024 · 1 comment

Comments

@earthskyorg
Copy link

Cross-Platform Compatibility

  1. Platform Independence: The library appears to be platform-independent, as it's written in Rust, which is designed to compile to WebAssembly (Wasm) and native platforms.
  2. Crate Dependencies: The library likely depends on platform-specific crates for low-level operations, which Rust handles through its cross-compilation capabilities.
  3. Client Configuration: The library provides options for configuring client behavior, including connection parameters:
let client = TonClientBuilder::new()
    .with_connection_params(&TonConnectionParams {
        config: TESTNET_CONFIG.to_string(),
        blockchain_name: None,
        use_callbacks_for_network: false,
        ignore_cache: false,
        keystore_dir: None,
    })
    .build()
    .await?;

Known Issues or Limitations

  1. System Libraries: The library might require system libraries that vary between platforms. For example, it could depend on OpenSSL for cryptographic operations.
  2. Native Dependencies: Some functionality might rely on native dependencies compiled for specific platforms, which could lead to platform-specific issues.
  3. Cross-CPU Architecture Compatibility: There's no explicit mention of CPU architecture considerations, which could be a potential issue if the library needs to run on ARM-based devices.
  4. WebAssembly Limitations: If the library aims to compile to WebAssembly, there might be limitations in certain low-level operations or memory management.
  5. Platform-Specific Features: Some features might only be available on certain platforms, potentially limiting cross-platform functionality.
  6. Testing Coverage: There could be gaps in testing coverage across different platforms, especially if automated testing doesn't cover all target environments.
  7. Configuration Differences: Different platforms might require different configurations for optimal performance or security, which could complicate cross-platform development.
@nnateghi9
Copy link

let client = TonClientBuilder::new()
.with_connection_params(&TonConnectionParams {
config: TESTNET_CONFIG.to_string(),
blockchain_name: None,
use_callbacks_for_network: false,
ignore_cache: false,
keystore_dir: None,
})
.build()
.await?;

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants