name: solana version: git summary: Blockchain, Rebuilt for Scale description: | 710,000 tx/s with off-the-shelf hardware and no sharding. Scales with Moore's Law. grade: devel # TODO: solana-perf-fullnode does not yet run with 'strict' confinement due to the # CUDA dependency, so use 'devmode' confinement for now confinement: devmode hooks: configure: plugs: [network] apps: drone: command: solana-drone plugs: - network - network-bind fullnode: command: solana-fullnode plugs: - network - network-bind - home fullnode-cuda: command: solana-fullnode-cuda plugs: - network - network-bind - home fullnode-config: command: solana-fullnode-config plugs: - network - network-bind genesis: command: solana-genesis mint: command: solana-mint client-demo: command: solana-client-demo wallet: command: solana-wallet daemon-validator: daemon: simple command: validator.sh daemon-leader: daemon: simple command: leader.sh daemon-drone: daemon: simple command: drone.sh parts: solana: plugin: nil prime: - bin - usr/lib/libgf_complete.so.1 - usr/lib/libJerasure.so.2 override-build: | # Build/install solana-fullnode-cuda ./fetch-perf-libs.sh cargo install --features=cuda,erasure --root $SNAPCRAFT_PART_INSTALL --bin solana-fullnode mv $SNAPCRAFT_PART_INSTALL/bin/solana-fullnode $SNAPCRAFT_PART_INSTALL rm -rf $SNAPCRAFT_PART_INSTALL/bin/* mv $SNAPCRAFT_PART_INSTALL/solana-fullnode $SNAPCRAFT_PART_INSTALL/bin/solana-fullnode-cuda mkdir -p $SNAPCRAFT_PART_INSTALL/usr/lib/ cp -f libJerasure.so $SNAPCRAFT_PART_INSTALL/usr/lib/libJerasure.so.2 cp -f libgf_complete.so $SNAPCRAFT_PART_INSTALL/usr/lib/libgf_complete.so.1 # Build/install all other programs cargo install --root $SNAPCRAFT_PART_INSTALL --bins # Install multinode scripts mkdir -p $SNAPCRAFT_PART_INSTALL/bin cp -av multinode-demo/* $SNAPCRAFT_PART_INSTALL/bin/ # TODO: build rsync from source instead of sneaking it in from the host # system... set -x mkdir -p $SNAPCRAFT_PART_INSTALL/bin cp -av /usr/bin/rsync $SNAPCRAFT_PART_INSTALL/bin/