Nocturne贡献仪式

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

#!/usr/bin/expect

spawn xvfb-run nocturne-setup contribute

expect "nocturne-v1 - trusted setup ceremony for Nocturne V1'"
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