I did it after importing ic-agent = “0.22.0” package
An error will be reported after the dfx deploy command
The specific error information is as follows
I searched for some projects in dfinity and found that quill and dfx etc. used this module
As far as I know, the cycles-wallet project should exist in the form of a container on the chain. I did not find any reference to the ic-agent package in this project [it may also be that this project does not use this package]
And I created a clean rust project locally and no errors occurred when importing the same module, so I guess whether the ic-agent package is not allowed on the chain or requires some special configuration to use this package on the chain
Cargo.toml
[dependencies]
serde = "1"
candid = "0.8.4"
ic-cdk = "0.7.1"
hex = "0.4.3"
sha2 = "0.10.6"
serde_json = "1.0.94"
k256 = { version = "0.12.0", features = ["ecdsa"] }
# Enable `custom` feature of k256's getrandom dependency. See lib.rs for more details.
getrandom = { version = "0.2", features = ["custom"] }
ic-agent = "0.22.0"
The information during deploy is
Deploying all canisters.
All canisters have already been created.
Building canisters...
WARN: Cannot check for vulnerabilities in rust canisters because cargo-audit is not installed. Please run 'cargo install cargo-audit' so that vulnerabilities can be detected.
Executing: cargo build --target wasm32-unknown-unknown --release -p ecdsa_example --locked
Compiling mio v0.8.6
Compiling socket2 v0.4.9
Compiling rustls-native-certs v0.6.2
error[E0433]: failed to resolve: use of undeclared crate or module `platform`
--> /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/rustls-native-certs-0.6.2/src/lib.rs:50:42
|
50 | load_certs_from_env().unwrap_or_else(platform::load_native_certs)
| ^^^^^^^^ use of undeclared crate or module `platform`
error[E0583]: file not found for module `sys`
--> /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/socket2-0.4.9/src/lib.rs:124:1
|
124 | mod sys;
| ^^^^^^^^
|
= help: to create the module `sys`, create file "/home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/socket2-0.4.9/src/sys.rs" or "/home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/socket2-0.4.9/src/sys/mod.rs"
error: Socket2 doesn't support the compile target
--> /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/socket2-0.4.9/src/lib.rs:127:1
|
127 | compile_error!("Socket2 doesn't support the compile target");
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
For more information about this error, try `rustc --explain E0433`.
error: could not compile `rustls-native-certs` due to previous error
warning: build failed, waiting for other jobs to finish...
error[E0432]: unresolved import `crate::sys::IoSourceState`
--> /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/mio-0.8.6/src/io_source.rs:12:5
|
12 | use crate::sys::IoSourceState;
| ^^^^^^^^^^^^^^^^^^^^^^^^^ no `IoSourceState` in `sys`
error[E0432]: unresolved import `crate::sys::tcp`
--> /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/mio-0.8.6/src/net/tcp/listener.rs:15:17
|
15 | use crate::sys::tcp::{bind, listen, new_for_addr};
| ^^^ could not find `tcp` in `sys`
error[E0432]: unresolved import `crate::sys::tcp`
--> /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/mio-0.8.6/src/net/tcp/stream.rs:13:17
|
13 | use crate::sys::tcp::{connect, new_for_addr};
| ^^^ could not find `tcp` in `sys`
error[E0432]: unresolved imports `crate::sys::sa_family_t`, `crate::sys::sockaddr`, `crate::sys::sockaddr_in`, `crate::sys::sockaddr_in6`, `crate::sys::sockaddr_storage`, `crate::sys::socklen_t`, `crate::sys::AF_INET`, `crate::sys::AF_INET6`
--> /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/socket2-0.4.9/src/sockaddr.rs:6:5
|
6 | sa_family_t, sockaddr, sockaddr_in, sockaddr_in6, sockaddr_storage, socklen_t, AF_INET,
| ^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^ no `AF_INET` in `sys`
| | | | | | |
| | | | | | no `socklen_t` in `sys`
| | | | | no `sockaddr_storage` in `sys`
| | | | no `sockaddr_in6` in `sys`
| | | no `sockaddr_in` in `sys`
| | no `sockaddr` in `sys`
| no `sa_family_t` in `sys`
7 | AF_INET6,
| ^^^^^^^^ no `AF_INET6` in `sys`
|
help: consider importing this module instead
|
6 | sa_family_t, crate::sockaddr;
| ~~~~~~~~~~~~~~~~
error[E0432]: unresolved imports `crate::sys::c_int`, `crate::sys::getsockopt`, `crate::sys::setsockopt`, `crate::sys::Bool`
--> /home/user/.cargo/registry/src/github.com-1ecc6299db9ec823/socket2-0.4.9/src/socket.rs:23:24
|
23 | use crate::sys::{self, c_int, getsockopt, setsockopt, Bool};
| ^^^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^^^ no `Bool` in `sys`
| | | |
| | | no `setsockopt` in `sys`
| | no `getsockopt` in `sys`
| no `c_int` in `sys`
|
help: consider importing one of these items instead