This repository was archived by the owner on Dec 4, 2024. It is now read-only.
File tree Expand file tree Collapse file tree 2 files changed +48
-0
lines changed Expand file tree Collapse file tree 2 files changed +48
-0
lines changed Original file line number Diff line number Diff line change @@ -23,3 +23,6 @@ tracing-subscriber.workspace = true
23
23
tracing.workspace = true
24
24
url.workspace = true
25
25
rs_merkle.workspace = true
26
+
27
+ [dev-dependencies ]
28
+ reqwest = { workspace = true , features = [" json" , " blocking" ] }
Original file line number Diff line number Diff line change
1
+ use std:: env;
2
+
3
+ use reqwest:: blocking:: Client ;
4
+ use serde_json:: json;
5
+ use url:: Url ;
6
+
7
+ pub fn bitcoin_url ( ) -> Url {
8
+ let base = env:: var ( "PROJECT_NAME" ) . unwrap ( ) ;
9
+ Url :: parse ( & format ! ( "http://{base}-bitcoin-1" ) ) . unwrap ( )
10
+ }
11
+
12
+ pub fn generate_blocks ( blocks : u64 , ctx : Client ) {
13
+ let endpoint = {
14
+ let mut endpoint = bitcoin_url ( ) ;
15
+ endpoint. set_port ( Some ( 18443 ) ) . unwrap ( ) ;
16
+ endpoint
17
+ } ;
18
+ let user = "devnet" ;
19
+ let password = "devnet" ;
20
+ let body = json ! ( {
21
+ "jsonrpc" : "1.0" ,
22
+ "id" : "1" ,
23
+ "method" : "generatetoaddress" ,
24
+ //developer's
25
+ "params" : [ blocks, "mqVnk6NPRdhntvfm4hh9vvjiRkFDUuSYsH" ]
26
+ } ) ;
27
+
28
+ let response_json: serde_json:: Value = ctx
29
+ . post ( endpoint)
30
+ . basic_auth ( user, Some ( password) )
31
+ . header ( reqwest:: header:: CONTENT_TYPE , "application/json" )
32
+ . json ( & body)
33
+ . send ( )
34
+ . unwrap ( )
35
+ . json ( )
36
+ . unwrap ( ) ;
37
+
38
+ assert_eq ! ( response_json[ "error" ] , serde_json:: Value :: Null ) ;
39
+ }
40
+
41
+ #[ test]
42
+ fn mine_empty_block ( ) {
43
+ let client = Client :: new ( ) ;
44
+ generate_blocks ( 10 , client) ;
45
+ }
You can’t perform that action at this time.
0 commit comments