Tag Archives: rust

cargo build failed: SSL connect error (schannel: failed to receive handshake, SSL/TLS connection fai

\10140; [UNK]rust-demo git:(dag_blockchain) ✗ cargo build

➜  rust-demo git:(dag_blockchain) ✗ cargo build
error: failed to download from `https://crates.io/api/v1/crates/rand/0.6.1/downl                                                                                                                                   oad`

Caused by:
  [35] SSL connect error (schannel: failed to receive handshake, SSL/TLS connect                                                                                                                                   ion failed)


fix this error as follows:
https://github.com/rust-lang/cargo/issues/1689
 
1. input command “curl ” + “download url”, example:

curl https://crates.io/api/v1/crates/rand/0.6.1/download -v

 
2. input command “cargo build –verbose”

 
3. input command “cargo build”

build success!

 
 
Note: in addition, there are many reasons for this problem, such as unstable network, crates need to cross the wall and so on, which may need to be tried and investigated one by one;

 

Rust’s introduction to Hello world | webassembly

As wechat does not support external links, you can read the original at the end of the article for more resources

In the previous article, we introduced

Learn the frequently asked questions of webassembly

.

Now let’s start with rust.

Rust is the best language to write webassembly applications today.

For the source code repo used in this article, please click:

https://github.com/second-state/wasm-learning/tree/master/rust

Although webassembly supports many programming languages, rust has the best tools so far.

In the past four years, rust has been selected as the most popular programming language by stackoverflow users, and is one of the fastest growing programming languages.

Rust is as versatile and efficient as C, but because of its compiler design, rust is much safer than C.

Like C, rust has a learning curve.

In this tutorial, I’ll help you get started with the rust programming language.

You can use online resources, such as

This book

Learn more about the rust language.

Install rust

In a typical Linux system, run the following instructions, install the rust compiler and the cargo tool to create a management system.

  
    
  
  
  
$ sudo apt-get update
$ sudo apt-get -y upgrade

$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
$ source $HOME/.cargo/env

Hello World

The source code of this demo application can be downloaded as follows:

https://github.com/second-state/wasm-learning/blob/master/rust/hello.md

First, let’s use

cargo

Create a new project.

  
    
  
  
  
$ cargo new hello
Created binary (application) `hello` package
$ cd hello

stay

src/ main.rs

In

main ()

Function, which is the entry point to execute the rust application.

Src/main. Rs

The contents of the document are as follows.

The code just prints a string “Hello world” to standard output.

  
    
  
  
  
fn main() {
println!(“Hello, world!”);
}

Next, create a binary executable for your machine.

  
    
  
  
  
$ cargo build --release
Compiling hello v0.1.0 (/home/ubuntu/wasm-learning/rust/hello)
Finished release [optimized] target(s) in 0.22s

You can now run your first rust program and see “Hello world” on the console

You can now run your first rust program and see “Hello world” on the console

  
    
  
  
  
$ target/release/hello
Hello, world!

Interaction

The source code for this demo can be found here

https://github.com/second-state/wasm-learning/blob/master/rust/cli.md .

Again, let’s use cargo to create a new project.

  
    
  
  
  
$ cargo new cli
Created binary (application) `cli` package
$ cd cli

Src/ main.Rs

The contents of the document are as follows.

env::args()

Will save the string value that we pass from the command line when we execute the program.

Also note here that we first create a rust string and then attach more string references to it.

Why do we have to join string references instead of string values?That’s why rust makes programs safe. click

here

Learn more.

  
    
  
  
  
use std::env;

fn main() {
let args: Vec<String&> = env::args().collect();
println!("{}", String::from("Hello ") + &args[1]);
}

Next, create a QR code executable for your machine.

  
    
  
  
  
$ cargo build --release

You can run the program and pass in a piece of command line code

  
    
  
  
  
$ target/release/cli Rust
Hello Rust

What about webassembly?

Now we’ve learned how to create a local executable program from the rust source code.

Executable programs can only run on the build computer and may not be safe.

In the next tutorial, we will show you:

How to build webassembly bytecode program from rust source code instead of local executable file.

How to interact with webassembly program through web browser instead of tedious command line.

Related reading

String in webassembly

It only takes 5 minutes to teach you how to write and execute a rust + webassembly program

Wechat does not support external links. Click to read the original text to view the article resources

this article is from WeChat official account – WebAssembly Chinese community (webassemblywasm).
In case of infringement, please contact [email protected] Delete.
This article participates in the “OSC source creation program”. You are welcome to join and share.