# Nocturne贡献仪式

By [ytjoe](https://paragraph.com/@ytjoe) · 2023-10-31

---

20231031-Nocturne贡献仪式
=====================

### 账户要求

GitHub: 1个public存储库，1个跟随者，关注其他5个github账户

### wsl部署

*   nodejs安装
    
        # 下载，安装
        wget https://nodejs.org/dist/v20.9.0/node-v20.9.0-linux-x64.tar.xz
        sudo mkdir -p /usr/local/lib/nodejs
        sudo tar -xJvf node-v20.9.0-linux-x64.tar.xz -C /usr/local/lib/nodejs
        
        # 添加PATH
        echo "export PATH=/usr/local/lib/nodejs/node-v20.9.0-linux-x64/bin:\$PATH" >> ~/.bashrc
        source ~/.bashrc
        
        # 检查node
        node -v
        
    
*   安装CLI
    
    ​`npm install -g @nocturne-xyz/nocturne-setup`​​
    
*   github认证
    
    ​`nocturne-setup auth`​​
    
    认证需要安装软件，然后网页填写代码中的token
    
*   参与仪式(因为排队只能15人，可以使用脚本排队)
    
    ​`nocturne-setup contribute`​​
    
    参与仪式需要选择，或者使用默认值，然后等待
    

### docker部署

*   docker安装
    
        curl -fsSL https://get.docker.com -o get-docker.sh
        sudo sh get-docker.sh
        rm -f get-docker.sh
        
    
*   docker build
    
    Dockerfile文件
    
        # 使用 Ubuntu 为基础镜像
        FROM ubuntu:20.04
        
        # 更新软件包列表并安装所需软件
        RUN apt-get update && apt-get install -y curl software-properties-common xsel xclip xvfb screen except \
            && curl -fsSL https://deb.nodesource.com/setup_18.x | bash - \
            && apt-get install -y nodejs \
            && npm install -g @nocturne-xyz/nocturne-setup \
            && apt-get clean && rm -rf /var/lib/apt/lists/*
        
        # 设置工作目录（根据需要修改）
        WORKDIR /app
        
        # 设置容器启动时执行的命令，以保持容器运行
        CMD ["tail", "-f", "/dev/null"]
        
    
    build
    
    ​`docker build -t noc:v1 .`​​
    
*   启动docker,执行
    
        # 启动容器
        docker run -itd --name n1 noc:v1
        
        # 进入容器
        docker exec -it n1 /bin/bash
        
        # 退出容器
        exit
        
    
*   启动
    
*   github认证
    
    ​`xvfb-run nocturne-setup auth`​
    
    认证需要安装软件，然后网页填写代码中的token
    
*   参与仪式(因为排队只能15人，可以使用脚本排队)
    
    ​`xvfb-run nocturne-setup contribute`​
    
    参与仪式需要选择，或者使用默认值，然后等待
    

### 自动参加仪式(待优化)

*   进入容器
    
*   创建脚本文件 [run.sh](http://run.sh)
    

    #!/usr/bin/expect
    
    spawn xvfb-run nocturne-setup contribute
    
    expect "nocturne-v1 - trusted setup ceremony for Nocturne V1&apos;"
    send "\n"
    expect eof
    
    expect "Would you like to automatically sample your entropy or manually type it in?"
    send "\n"
    expect eof
    

*   执行
    

​`for i in {0..100000};do ./run.sh ;done`​

### 参考文档

    https://nocturnelabs.notion.site/nocturnelabs/Nocturne-Trusted-Setup-Contributor-Guide-411ac624abdb44d989f3f5be354c91ac
    https://twitter.com/zmzimpl/status/1719319999037546998
    

‍

---

*Originally published on [ytjoe](https://paragraph.com/@ytjoe/nocturne)*
