# Summer of Bitcoin Agenda meeting 3 July 2022 ## Table of Content - Vincent week off - AWS virtual machine for hosting node - lndart packages beta release - First Milestone Summer of Bitcoin ## Vincent week off I will take a week of from 6 till 12 July, so all the meeting in the meanwhile are stopped, but I will check the discord channel if any of us is stuck for somethings. In addition, I was thinking to give the power of mantain the team to Kavan and Swapnil (aka Tranquillo sorry you need to send me a audio message with the pronunciation of the name :) ). So if any of you have problem with this I give the power to help the other to you guys in this week (and if goos well also after). ## AWS virtual machine for hosting node I noted that some of you have no core lightning installed and this is *REALLY BAD* (also you Kavan :) ), now after one months I want that all of you has the node up and running because all of you have some task, so please if you do not want compile core lightning (sorry Tranquillo you MUST :) ) use the following docker compose to run make the node up and running with tor and all the fancy stuff N.B insert the name of the project <name of project> in the alias before copy and paste. ``` version: "3.8" services: cln_test: image: vincenzopalazzo/clightning4j-node:v0.11.2-dev4 volumes: - ./data:/home/clightning4j ports: - "7000:7000" - "19735:19735" - "8000:8000" command: --network=testnet --alias=lndart-<name of project> --disable-plugin=bcli --log-level=debug --jrest-port=7000 --grpc-port=8000 --jrest-on-startup --bind-addr=127.0.0.1:19735 --proxy=127.0.0.1:9050 --addr=statictor:127.0.0.1:9051/torport=19735 ``` Now, to make the life very easy I make also an AWS accound with a testned node that is up and running! These are some information: * Getinfo of the team node ```json { "id": "028fe59bd7bbe3982699535e7e43b305c69099fbdd9902b1af5875a121fdb9a3dc", "alias": "lndart-testnet", "color": "028fe5", "num_peers": 1, "num_pending_channels": 0, "num_active_channels": 1, "num_inactive_channels": 0, "address": [ { "type": "ipv4", "address": "52.55.124.1", "port": 19735 }, { "type": "torv3", "address": "s5esrtw7l4uix5idxoa3lcdrihmchsk2evrtelnp6peke4rqfdjp54id.onion", "port": 19735 } ], "binding": [ { "type": "ipv4", "address": "127.0.0.1", "port": 19735 } ], "version": "v0.11.0.1-145-g9f953b5-modded", "blockheight": 2283867, "network": "testnet", "fees_collected_msat": 0, "lightning-dir": "/home/clightning4j/.lightning/testnet", "our_features": { "init": "80080269a2", "node": "800080080269a2", "channel": "", "invoice": "02000000024100" } } ``` It has a pub ip, so you did not need tor, use the connect + fundchannel to open a channel with it. It has also the offer enable by default, so you can use the bolt12 https://bolt12.org - Public API http://52.55.124.1:7000/ui for rest server - To access to the instance you need to download [this certificate](https://drive.proton.me/urls/P8PP06AVSM#OJ2I9t8l7guu) and to download you need a password, please send me a DM on discord and I will send to you When you have the password to login in the machine you need the following command `chmod 600 vincent-aws.pem && ssh -i "vincent-aws.pem" admin@ec2-52-55-124-1.compute-1.amazonaws.com` N.B Run the same directory of the certificate! after that if you want run a command on core lightning, you can use the following command `sudo docker compose run -T cln_test lightning-cli --testnet <command_name>` and example is `sudo docker compose run -T cln_test lightning-cli --testnet getinfo` ## lndart packages beta release Some of your package in clndart are quite ready to start the releasing process in beta, and I think we can start to the release preparation to shiop the package ## First Milestone Summer of Bitcoin We need to setup a first Milestone for the summer of bitcoin, and we need to know what we will go to release and what project idea is failing. I would like to have the first version of the project ready to go: * For Kevan: I think the clnapp is a good example on how to develop and use the stuff in dart, so do you think that the first milestone is have a raw UI with the following use case: * [x] Show the mixed list of payment in the home page + the ammount of bitcoin that we have on the lightning network * [ ] Implementing a Pay view * [ ] Fix the bug in the Unix socket, because the GRPC isi not read for all this function * Tranquillo: What is you status with the plugin system? * [x] Finish the plugin API (missed hooks + notification) * [ ] Think about the annotation plugin * [ ] Implementing a template https://github.com/dart-lightning/lndart.clightning/issues/36 * [ ] Developing at least one plugin to help others of the summer of bitcoin to solve some probelm and solving one problem on core lightning * Micky: Why is you status? What do you want to do? * [X] Finish your API implementation at least of the BOLT * [ ] Implemente a test vector * [ ] Implementing a compiler that take the csv file and generate the lightning network message (in python? or dart using https://github.com/dart-lightning/lndart.wire) * Gautam: Now that you have the API you need only to write a couple of request, so I proprose * [x] Finish the Donation View (check the API because you may need a DJ fremework) * [x] Fix bugs inside the App bar because I had this in production * [x] Provide at least one real API to use the node with a core lightning node * [ ] Work on the lnmetrics, this required knowlge of GraphQL, and we implement at least the following use case: * [ ] node information about the metrics calculated * [ ] channels information about the metrics calculated * Gaby: What if you status? * [x] Finish the simple UNIX wrapper * [x] Add integrationg testing with docker inside the CI * [x] I want to add another project here but I'm not sure what, I'm thinking at the following project: - [ ] Implementing [runes](https://github.com/rustyrussell/runes) in rust - [ ] Finish my rust implementation of [lnsocket](https://github.com/vincenzopalazzo/rust-lnsocket) - [x] Work with another summer of bitcoin to implement a plugin for core lightning in rust or go (we need to finish the plugin API) to provide the tls certificate after with a server to Kevan that need to download the certificate inside the APP. * [ ] Finish implementation of the go plugin API https://github.com/vincenzopalazzo/cln4go/tree/main/plugin * [ ] Create a template plugin for Golang like https://github.com/dart-lightning/lndart.clightning/tree/main/packages/cln_plugin * [ ] Impementing plugin to provide tls certificate for grpc plugin