# HTTP Outcalls to Infura Goerli test nets using Rust \[Error : RejectionCode: SysTransient \]

**URL:** <https://forum.dfinity.org/t/http-outcalls-to-infura-goerli-test-nets-using-rust-error-rejectioncode-systransient/19533>\
**Category:** Rust\
**Created:** [April 20, 2023, 5:33pm UTC](https://forum.dfinity.org/t/http-outcalls-to-infura-goerli-test-nets-using-rust-error-rejectioncode-systransient/19533 "2023-04-20T17:33:15Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![agentDPS](https://avatars.discourse-cdn.com/v4/letter/a/fbc32d/32.png) [@agentDPS](https://forum.dfinity.org/u/agentDPS)\
**Post date:** [April 20, 2023, 5:33pm UTC](https://forum.dfinity.org/t/http-outcalls-to-infura-goerli-test-nets-using-rust-error-rejectioncode-systransient/19533/1 "2023-04-20T17:33:15Z")

</div>

Here is my code

```auto
let final_tx = format!("{}{}","0x",tx_sign);
    let rpc_request = RpcRequest{
        id:"1".into(),
        jsonrpc:"2.0".into(),
        method:"eth_gasPrice".into(),
        params:vec![]
    };
    let json_rpc = serde_json::to_vec(
        &rpc_request
    ).map_err(|e| format!("hex::decode failed: {}", e))?;
    let request = CanisterHttpRequestArgument{
        url:"https://goerli.infura.io/v3/blabla".to_string(),
        max_response_bytes: Some(400000),
        method:HttpMethod::POST,
        headers:vec![
            HttpHeader{
                name:"Content-Type".to_string(),
                value:"application/json".to_string()
            }
        ],
        body: Some(
            json_rpc
        ),
        transform:Some(TransformContext::new(transform, vec![]))
        
    };
    
    match http_request(request).await {
        Ok((result,))=>{
            
            Ok(SignOutput{
                tx_sign:format!("{:?}",result.body)
            })
        }
        Err((r, m)) => {
            let message =
                format!("The http_request resulted into error. RejectionCode: {r:?}, Error: {m}");
            Err(message)
        }
    }

```

and here is my transformer

```auto
#[query]
fn transform(raw: TransformArgs) -> HttpResponse {
    let mut res = HttpResponse {
        status: raw.response.status.clone(),
        ..Default::default()
    };
    if res.status == 200 {
        res.body = raw.response.body;
    } else {
        ic_cdk::api::print(format!("Received an error from jsonropc: err = {:?}", raw));
    }
    res
}

```

The full error is looking like this

```auto
The http_request resulted into error. RejectionCode: SysTransient, Error: Failed to connect: error trying to connect: tcp connect error: deadline has elapsed

```

---

<div class="post-metadata">

**Author:** ![Vivienne](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/vivienne/32/29170_2.png) [@Vivienne](https://forum.dfinity.org/u/Vivienne)\
**Post date:** [April 21, 2023, 6:46am UTC](https://forum.dfinity.org/t/http-outcalls-to-infura-goerli-test-nets-using-rust-error-rejectioncode-systransient/19533/2 "2023-04-21T06:46:44Z")

</div>

Is the URL available over IPv6? AFAIK this is the most common source of problems with outcalls

---

<div class="post-metadata">

**Author:** ![agentDPS](https://avatars.discourse-cdn.com/v4/letter/a/fbc32d/32.png) [@agentDPS](https://forum.dfinity.org/u/agentDPS)\
**Post date:** [April 21, 2023, 6:50am UTC](https://forum.dfinity.org/t/http-outcalls-to-infura-goerli-test-nets-using-rust-error-rejectioncode-systransient/19533/3 "2023-04-21T06:50:34Z")

</div>

I don’t know if Infura Node providers support IPV6 , i think it should do because a ic-web3 library used the same infura provider

---

<div class="post-metadata">

**Author:** ![agentDPS](https://avatars.discourse-cdn.com/v4/letter/a/fbc32d/32.png) [@agentDPS](https://forum.dfinity.org/u/agentDPS)\
**Post date:** [April 21, 2023, 6:51am UTC](https://forum.dfinity.org/t/http-outcalls-to-infura-goerli-test-nets-using-rust-error-rejectioncode-systransient/19533/4 "2023-04-21T06:51:16Z")

</div>

How do i even check if the Node Providers supports IPV6 , i can’t find anything in there docs …

---

<div class="post-metadata">

**Author:** ![Vivienne](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/vivienne/32/29170_2.png) [@Vivienne](https://forum.dfinity.org/u/Vivienne)\
**Post date:** [April 21, 2023, 6:54am UTC](https://forum.dfinity.org/t/http-outcalls-to-infura-goerli-test-nets-using-rust-error-rejectioncode-systransient/19533/5 "2023-04-21T06:54:43Z")

</div>

Looks like it[does not](https://ready.chair6.net/?url=goerli.infura.io)

---

<div class="post-metadata">

**Author:** ![agentDPS](https://avatars.discourse-cdn.com/v4/letter/a/fbc32d/32.png) [@agentDPS](https://forum.dfinity.org/u/agentDPS)\
**Post date:** [April 21, 2023, 7:31am UTC](https://forum.dfinity.org/t/http-outcalls-to-infura-goerli-test-nets-using-rust-error-rejectioncode-systransient/19533/6 "2023-04-21T07:31:00Z")

</div>

🥲 is there any node provider that is IpV6

---

<div class="post-metadata">

**Author:** ![domwoe](https://sea1.discourse-cdn.com/flex023/user_avatar/forum.dfinity.org/domwoe/32/5165_2.png) [@domwoe](https://forum.dfinity.org/u/domwoe)\
**Post date:** [April 21, 2023, 7:38am UTC](https://forum.dfinity.org/t/http-outcalls-to-infura-goerli-test-nets-using-rust-error-rejectioncode-systransient/19533/7 "2023-04-21T07:38:36Z")

</div>

yep, @dieter.sommer prepared a list here

> [@Long Term R&D: Integration with the Ethereum Network](https://forum.dfinity.org/t/long-term-r-d-integration-with-the-ethereum-network/9382/81):
>
> As our app subnets currently only have IPv6 connectivity, I went through the tedious process of checking all Ethereum RPC API providers I could find for IPv6 connectivity. The table below shows my findings: most of the providers only support IPv4, but there are some that support IPv6 also. Hope this is useful for those who intend to use the Phase 1 integration on an IC app subnet. RPC API Provider HTTPS Endpoint IPV6 Support CloudFlare [https://cloudflare-eth.com](https://cloudflare-eth.com) yes AllNodes [https://e…](https://ethereum.publicnode.com)

---

<div class="post-metadata">

**Author:** ![dieter.sommer](https://avatars.discourse-cdn.com/v4/letter/d/b487fb/32.png) [@dieter.sommer](https://forum.dfinity.org/u/dieter.sommer)\
**Post date:** [April 21, 2023, 7:40am UTC](https://forum.dfinity.org/t/http-outcalls-to-infura-goerli-test-nets-using-rust-error-rejectioncode-systransient/19533/8 "2023-04-21T07:40:38Z")

</div>

Infura is an IPv4-only provider, but we have ~7 IPv6-capable providers in the list mentioned by @domwoe above.

---

<div class="post-metadata">

**Author:** ![dieter.sommer](https://avatars.discourse-cdn.com/v4/letter/d/b487fb/32.png) [@dieter.sommer](https://forum.dfinity.org/u/dieter.sommer)\
**Post date:** [April 26, 2023, 9:26am UTC](https://forum.dfinity.org/t/http-outcalls-to-infura-goerli-test-nets-using-rust-error-rejectioncode-systransient/19533/9 "2023-04-26T09:26:13Z")

</div>

We are happy to announce that gateway.fm now supports IPv6 as well for the Ethereum mainnet API offering! Many thanks to the gateway.fm team for making this happen for the IC community! 🎉 🚀 🥳

Gateway.fm are worth a recommendation as an API provider for HTTPS outcalls!
