mirror of
				https://source.quilibrium.com/quilibrium/ceremonyclient.git
				synced 2025-04-04 19:36:54 +00:00 
			
		
		
		
	
						commit
						4d65dff388
					
				
							
								
								
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,3 @@ | ||||
| .idea/ | ||||
| vouchers/ | ||||
| ceremony-client | ||||
							
								
								
									
										16
									
								
								Dockerfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								Dockerfile
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,16 @@ | ||||
| FROM golang:1.18 | ||||
| 
 | ||||
| WORKDIR /app | ||||
| 
 | ||||
| COPY go.mod go.sum ./ | ||||
| 
 | ||||
| RUN go mod download | ||||
| 
 | ||||
| # Add an entry to .bash_history so we can just run `make dev` and hit up to test the cli | ||||
| RUN echo 'go run ./... test-voucher.hex' >> ~/.bash_history | ||||
| 
 | ||||
| COPY . . | ||||
| 
 | ||||
| RUN CGO_ENABLED=0 GOOS=linux go build -o ceremony-client | ||||
| 
 | ||||
| CMD ./ceremony-client | ||||
							
								
								
									
										13
									
								
								Makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								Makefile
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,13 @@ | ||||
| IMAGE_TAG := quilibrium-ceremony-client | ||||
| 
 | ||||
| build-docker: | ||||
| 	docker build -t $(IMAGE_TAG) . | ||||
| 
 | ||||
| bash: | ||||
| 	docker run --rm -it $(IMAGE_TAG) bash | ||||
| 
 | ||||
| participate: build-docker | ||||
| 	docker run --rm -it -v $(PWD)/vouchers:/vouchers $(IMAGE_TAG) ./ceremony-client "/vouchers/quil-voucher-$(shell date +'%m.%d.%y-%H:%M:%S').hex" | ||||
| 
 | ||||
| dev: | ||||
| 	docker run --rm -it -v $(PWD):$(PWD) --workdir $(PWD) $(IMAGE_TAG) bash | ||||
| @ -1,3 +1,9 @@ | ||||
| # ceremonyclient | ||||
| 
 | ||||
| KZG Ceremony client for Quilibrium. Run with `go run ./... <voucher_filename>` or omit the filename to write to quil_voucher.hex. | ||||
| KZG Ceremony client for Quilibrium.  | ||||
| 
 | ||||
| # Running | ||||
| 
 | ||||
| Run with `go run ./... <voucher_filename>` or omit the filename to write to quil_voucher.hex. | ||||
| 
 | ||||
| If you have docker installed you can participate in the ceremony by simply running `make participate`. Your voucher will be written to `vouchers/`. | ||||
| @ -78,7 +78,8 @@ func JoinLobby() { | ||||
| 
 | ||||
| 	client := http.DefaultClient | ||||
| 	resp, err := client.Do(req) | ||||
| 	fmt.Println("connected") | ||||
| 
 | ||||
| 	fmt.Println("Connected to sequencer!") | ||||
| 
 | ||||
| 	if err != nil { | ||||
| 		panic(err) | ||||
|  | ||||
							
								
								
									
										36
									
								
								main.go
									
									
									
									
									
								
							
							
						
						
									
										36
									
								
								main.go
									
									
									
									
									
								
							| @ -11,13 +11,7 @@ func main() { | ||||
| 	PrintLogo() | ||||
| 	PrintVersion() | ||||
| 
 | ||||
| 	fmt.Println("Checking sequencer...") | ||||
| 	state := GetSequencerState() | ||||
| 	for state != SEQUENCER_ACCEPTING { | ||||
| 		fmt.Println("Sequencer currently not accepting new contributions, waiting...") | ||||
| 		time.Sleep(30 * time.Second) | ||||
| 		state = GetSequencerState() | ||||
| 	} | ||||
| 	WaitForSequencerToBeReady() | ||||
| 
 | ||||
| 	JoinLobby() | ||||
| 	Bootstrap() | ||||
| @ -26,7 +20,33 @@ func main() { | ||||
| 	ContributeAndGetVoucher() | ||||
| } | ||||
| 
 | ||||
| func WaitForSequencerToBeReady() { | ||||
| 	spinnerChars := []string{"⣾", "⣽", "⣻", "⢿", "⡿", "⣟", "⣯", "⣷"} | ||||
| 	spinnerIndex := 0 | ||||
| 	attempts := 0 | ||||
| 	removeLine := "\u001B[A\u001B[2K" | ||||
| 	state := GetSequencerState() | ||||
| 	for state != SEQUENCER_ACCEPTING { | ||||
| 		message := "Sequencer currently not accepting new contributions, waiting..." | ||||
| 		status := fmt.Sprintf("[Attempt %d - Last Checked: %s]", attempts, time.Now().String()) | ||||
| 
 | ||||
| 		fmt.Printf("\r%s", removeLine) | ||||
| 		fmt.Printf("%s\n", message+spinnerChars[spinnerIndex]) | ||||
| 		fmt.Printf("  |- %s", status) | ||||
| 
 | ||||
| 		spinnerIndex = (spinnerIndex + 1) % len(spinnerChars) | ||||
| 		attempts += 1 | ||||
| 
 | ||||
| 		time.Sleep(5 * time.Second) | ||||
| 		state = GetSequencerState() | ||||
| 	} | ||||
| 
 | ||||
| 	fmt.Println() | ||||
| 	fmt.Println("Sequencer is ready for contributions!") | ||||
| } | ||||
| 
 | ||||
| func PrintLogo() { | ||||
| 	fmt.Println() | ||||
| 	fmt.Println("                                   %#########") | ||||
| 	fmt.Println("                          #############################") | ||||
| 	fmt.Println("                    ########################################&") | ||||
| @ -64,4 +84,6 @@ func PrintLogo() { | ||||
| func PrintVersion() { | ||||
| 	fmt.Println(" ") | ||||
| 	fmt.Println("                    Quilibrium Ceremony Client - CLI - v1.0.1") | ||||
| 	fmt.Println() | ||||
| 	fmt.Println() | ||||
| } | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Cassandra Heart
						Cassandra Heart