Dev Meeting Transcript (May 7, 2021)
[4:04 PM] bless yer heart: Hi everyone.
[4:04 PM] Tron: Hello everybody.
[4:05 PM] Tron: Is the channel open?
[4:05 PM] bless yer heart: I pmed a mod
[4:05 PM] Tron: I'll get it.
[4:05 PM] HyperPeek: Hi!
[4:05 PM] boatsandhoes: hi all
[4:05 PM] fdov: Hi.
[4:05 PM] Destructo: Hey-o!
[4:06 PM] Nathan Hauk: Gaaaasp…
[4:06 PM] Nathan Hauk: Hi!
[4:07 PM] boatsandhoes: when v4.8?
[4:07 PM] fdov: When it is ready.
[4:07 PM] Jeroz: Go test 4.7 :slight_smile:
[4:08 PM] boatsandhoes: link?
[4:09 PM] Tron: Anyone can test the testnet code. It is available 24×7 to everyone.
[4:09 PM] HyperPeek: Ok, one thing for this release will be to sort out signing of binaries for Win and OSX. Does the foundation have accounts (Apple / Windows) and keys for that?
[4:09 PM] Tron: The binaries should be under the artifacts for the build.
[4:10 PM] Tron: They will be unsigned. Be sure that you trust the developers from which branch you're getting the binaries. fdov, HyperPeek, Hans, etc.
[4:10 PM] fdov: The binaries are at: https://github.com/Ravenqt-RVN-SIG/Ravencoin/releases
[4:11 PM] brianmct: Btw I gave mods and core developers ability to open this channel, hopefully that will help start the meeting in time in the future
[4:11 PM] fdov: I signed CHECKSUMS with my GPG key, which can be found on some keyservers and on my github page.
[4:12 PM] HyperPeek: Current version is for testnet only — will not sync on main net due to some issues with p2sh
[4:13 PM] Jeroz: Testnet forked successfully to P2SH last weekend. I tried to contact everyone I knew that ran testnet nodes including Ravencoin.network and vinsent wine.
We also simulated a fork. This happened successfully when Mango Farm made a P2SH tx making testnet split while HyperPeek was mining the old chain.
[4:14 PM] boatsandhoes: Oh snap!
[4:14 PM] Jeroz: So 4.3.2.1 nodes are not on the correct testnet chain any more
[4:14 PM] HyperPeek: You will most likely find them stuck, as there is no miner
[4:15 PM] HyperPeek: Open things are more p2sh asset testing and swaps. Not sure who can help with that. The more the better.
[4:17 PM] Jeroz: fdov identified one bug in the P2SH code. If you try to reconsider a block, the 4.7 node/wallet will crash. @[Dev] Blondfrogs will try to fix that when he has time.
[4:17 PM] Mango Farm: I'll be doing a bunch of testing over the next couple weeks for other reasons of garden-variety transactions/asset transactions on the new testnet, so will identify any issues I come across.
[4:18 PM] HyperPeek: Perfect! Try to break it :stuck_out_tongue:
[4:18 PM] Mango Farm: Will do!
[4:18 PM] fdov: It is actually not related to reconsidering, but there are transactions on chain that move assets, with OP_EQUAL, which matches a check in tx_verify that the new wallet will reject, until p2sh-assets is activated. And it needs to be handled in a better way before mainnet release.
[4:20 PM] HyperPeek: Hence no sync of mainnet with new wallet atm. Will need fixing and as Jeroz said Blondfrogs promised to look into that.
[4:20 PM] Mango Farm: Does the new scripting for P2SH have any impacts on signing of non-P2SH asset (or non-asset) tx?
[4:22 PM] fdov: Mango Farm Depends on how you create the transaction i guess, there are some super-strict rules in tx_verify when it comes to any use of OP_RVN_ASSET
[4:22 PM] HyperPeek: But there were no changes, so what worked before should work now.
[4:23 PM] Mango Farm: Roger that. Just wanted to see if there was any shift in the bytes for non-P2SH asset tx (I haven't looked in detail)
[4:23 PM] HyperPeek: No, that stayed as is.
[4:23 PM] Mango Farm: Thanks
[4:23 PM] unclear: Does anyone have p2sh asset tx hash? Just want to check that explorer does it well :rolling_eyes:
[4:24 PM] HyperPeek: There is only ONE…
[4:24 PM] Mango Farm: https://rvnt.cryptoscope.io/tx/?txid=00c33afe6d7bf838bd6ae502a7618c538b2e85b1a0b63d9f8dccb17a2cf2d4b0
[4:24 PM] Mango Farm: : )
[4:24 PM] Mango Farm: I left you guys a nice little note in there
[4:25 PM] unclear: Thanks!
[4:25 PM] Mango Farm: Awesome work
[4:25 PM] fdov: Mango Farm Only 4 more lines or so. The lines that broke mainnet sync. https://github.com/RavenProject/Ravencoin/blob/038da6b6b39cd2ab93606ead02ad5f9695288ab8/src/consensus/tx_verify.cpp#L663
[4:26 PM] fdov: Mango Farm The problem for mainnet-sync is the way isAssetScript works, only look for size and OP_EQUAL
[4:26 PM] fdov: And someone used OP_EQUAL
[4:27 PM] Mango Farm: fdov do you have an example handy?
[4:27 PM] fdov: Hang on.
[4:27 PM] Mango Farm: just curious more than anything
[4:28 PM] fdov: https://rvn.cryptoscope.io/api/getrawtransaction/?txid=39aaaed0ccd038e9304e230ecba7b2b9457252cc0b4deb7245d4c2e03a186564&decode=1
[4:28 PM] Jeroz: Tron not sure if it’s helpful for the audit. But ISE can use testnet too.
[4:28 PM] Tron: If you run 4.7 on mainnet now, is it fair to say it will work because fIsAsset is false because P2SH isn't activated?
[4:29 PM] Tron: It will be helpful. I'll pass along the info.
[4:29 PM] fdov: It can work for a while, until someone move a SCAMCOIN. – then it rejects everything. – I have a running version without the check at line tx_verify.cpp#L663 – but that basically removes the activation-part of p2sh-assets.
[4:31 PM] fdov: Tron so, no, it won't work with that check. I'm not 100% sure, but I think fIsAsset is true if OP_RVN_ASSET is used in the script, and if you use OP_EQUAL and the lenght is more than 31, you get stuck because that check goes true.
[4:32 PM] HyperPeek: Which was a valid tx before and is on the main chain already…
[4:32 PM] HyperPeek: So the check need to get more advanced.
[4:33 PM] Tron: Got it. So a test version that simulates activation of P2SH on mainnet, and it has transactions where nScriptType == TX_SCRIPTHASH
[4:34 PM] theking: What does the timing look like for the audit that ISE is doing?
[4:34 PM] Tron: They told me June.
[4:35 PM] Tron: It could push into July depending on how long it takes them, but they should be working on it in June.
[4:35 PM] fdov: What codebase are they looking at?
[4:36 PM] Tron: None yet. I just sent them the link to the binaries (posted above) and let them know testnet was running.
[4:37 PM] Tron: We will want them looking at the latest version when they're ready.
[4:38 PM] fdov: Yes, and ideally we would not change consensus-related files in the time after audit till release.
[4:38 PM] HyperPeek: That makes sense, definitely. They could check the general implementation though, as that will not change .
[4:38 PM] fdov: So fixing this p2sh-activation check is kind of high priority.
[4:39 PM] fdov: I also have some feelings about the strict tx-checks in consensus/tx_verify.cpp – but we don't have to go there today. We basically force hardforks for all new features, which is bad design imo.
[4:40 PM] HyperPeek: Other topics — sweeping?
[4:41 PM] Jeroz: We had conversations on GitHub about sweeping.
[4:41 PM] Tron: https://github.com/RavenProject/Ravencoin/issues/880
[4:42 PM] fdov: I think the sweeping implementation is useless currently. I'm doing a test now, and the reindex with all the -index options it requires is at 56m now, 36 weeks left. NVME SSD and 16 core AMD 3700. – I won't use it, that's for sure.
[4:42 PM] Tron: Jeroz had a great idea. importprivkey, then sweep.
[4:43 PM] Tron: Can be done as part of the sweep call.
[4:43 PM] fdov: It can probably already be done, just import the key and run the command, or does the command require the indexes?
[4:43 PM] fdov: by command i mean 'sweep'
[4:43 PM] Tron: The indexes add the UTXOs for everyone. importing the private key adds it for your addresses.
[4:44 PM] Jeroz: It wouldn’t let me do it in the same wallet fdov
[4:44 PM] fdov: Jeroz ok.
[4:44 PM] Tron: If the code is changed to do an importprivkey (with rescan), then the same sweep, it should work.
[4:44 PM] fdov: I liked the API-idea best, to be honest. It would take seconds/minutes.
[4:45 PM] Tron: The API was the original spec, but it does create a dependency (on the API).
[4:45 PM] Vincent: :wave:
[4:45 PM] fdov: We have this, which can be fall-back, if no api is available.
[4:46 PM] HyperPeek: Ok, keep and extend later.
[4:46 PM] Ben: i agree though, we should avoid api calls where possible in core implementation
[4:46 PM] Jeroz: If we keep it, we need to update the error messaging. It needs to tell the user to turn on the index flags.
[4:46 PM] Mango Farm: Especially since it's an API
[4:47 PM] Ben: agreed on messaging, i had no idea why it wasn't working lol
[4:47 PM] Jeroz: It took is quite a while to figure out that it was the index flags that made our attempts fail
[4:47 PM] Tron: For the current implementation, the message would be to turn on the index flags.
[4:47 PM] Jeroz: I saw it in the python tests
[4:47 PM] fdov: I would prefer to have it fixed to work the way Jeroz suggested.
[4:48 PM] fdov: I'm pretty sure that reindex would be faster.
[4:48 PM] Tron: But with importprivkey and letting it rescan, it wouldn't be necessary. Effectively it adds the address to your wallet, the rescan adds the UTXOs to your local database, and then the sweep should have the information it needs (UTXOs) to do the sweep.
[4:49 PM] Mango Farm: Tron, I saw your note about importprivkey not getting backed up. Since this is a sweep to a wallet address, I wonder if that is a real concern? Importprivkey works and is fast, and doesn't require the flags or an external API dependency.
[4:49 PM] fdov: exactly.
[4:49 PM] Tron: There would be an extra private key in the wallet.dat, but if the sweep is working, then it will be empty.
[4:49 PM] Jeroz: The sweep code needs to be adjusted then though. As in its current form, it also won't let me sweep an address that is already in my wallet (without the index flags).
[4:49 PM] fdov: Which is the best solution, avoiding API and speedup rescan/reindex (waiting time for users, basically).
[4:50 PM] HyperPeek: Agree.
[4:50 PM] Mango Farm: Same
[4:51 PM] Tron: Oh? That must be a safety check of some sort. Is there an error or warning reported back?
[4:52 PM] Jeroz: I think importprivkey in itself also needs to be adjusted to automatically follow up with a sweep for the 12 seed word wallets.
[4:52 PM] Jeroz: the one I wrote on the git. (-5)
[4:52 PM] fdov: Jeroz I think we can live with two commands, if it saves 2 hours.
[4:53 PM] Jeroz: No information available for address (code -5)
Is the error message, to be exact.
This is for an address that is already in the wallet.
[4:53 PM] Mango Farm: That's a good idea Jeroz (but it could be optional at the time of importprivkey with some GUI input)
[4:54 PM] Mango Farm: Since automatic sending to a wallet address would be unusual to someone used to Bitcoin functionality
[4:54 PM] Tron: The importprivkey an option for rescan, so you can import 10 keys and then do a rescan on the last one.
[4:55 PM] Jeroz: Yeah that would be a great GUI feature
[4:56 PM] Tron: The problem with sweeping 12-word seeds is that it must check (20 + #KeysUsed) * 2, and since it doesn't know which keys are used at the time of import, you'd have add one, scan, add one, scan, and keep doing that until you find 20 empty ones. Then do the same for the change addresses.
[4:56 PM] Mango Farm: This is a pretty cool feature. I could see people using it to scan in physical items like "RVN Bucks" with a single click. Some day perhaps a QR scanning widget. Good stuff.
[4:57 PM] Jeroz: Cant you just add N addresses blindly and then do a rescan?
[4:57 PM] fdov: yes
[4:57 PM] Tron: It would be great for a certificate-of-authenticity. Just sweep (scan the private key) from the item to your wallet.
[4:58 PM] Tron: You can scan N. What is N? 21? 50? 1000?
[4:58 PM] Jeroz: user defined
[4:59 PM] Jeroz: for 99% of them its in the first 5. From my experience with helping people sweep old android/ios wallets.
[4:59 PM] Tron: The user is unlikely to know. You could scan N (100?) and then check that there was a gap of 20 in both the main and change addresses. If not, do it again with a bigger number.
[5:00 PM] fdov: Tron I want to repeat the question HyperPeek addressed in the very beginning. Before the next official release, we should sort out the signing-certs for windows and osx binaries. Does the foundation have that sorted or is that a process that should be started?
[5:01 PM] Tron: It is a process that should be started. The other keys were Medici and I don't have them. Former DevOps has them.
[5:01 PM] Mango Farm: I've got some with hundreds. It depends on how many txs you do. Tough to get right 100 percent of the time.
[5:01 PM] Mango Farm: Have given this alot of thought because the # impacts load time for Mango wallet.
[5:03 PM] Tron: Impossible to get right 100% of the time, but easy to get right 95% of the time and possible to check the gap, and give a warning that not enough were scanned if a gap of 20 isn't found.
[5:03 PM] fdov: Tron Ok, could you start that process? I guess it makes sense that the foundation holds those. Once that is in place, I think we have most of the release process under control. Then it is just testing and making sure the product is ready.
[5:03 PM] Mango Farm: That makes sense Tron. The user will definitely know if it isn't showing up, and you could give them an option to continue if it doesn't.
[5:03 PM] Jeroz: How about creating a loop with 50 at a time. Report back to the user what was found and giving them a [stop][continue] question. For most of them it will be done in the first iteration. For some of them it will take a bit longer. And for others it wont work because their words were wrong or they were hacked and the coins are gone.
I am not sure if its a huge difference in scanning time between 1 and all first 1000 addresses though.
[5:03 PM] Ben: would it be a fixed time per scan, or would it go up with the # of addrs?
[5:04 PM] Tron: fdov I can start that process.
[5:06 PM] Tron: Probably O(N) where N is the total number of addresses in the wallet, not the number of new addresses added to the wallet.
[5:06 PM] Ben: update on rosetta stuff: we have basically passed all checks to our satisfaction, and i just now figured out the last piece that we were worried about (fee calculation) so just going to do some finalizations and we should have the final draft PR submitted to the rosetta-ravencoin branch tonight hopefully
[5:09 PM] boatsandhoes: can we get the ravencoin twitter handle to tweet this ^^ out when its there?
[5:09 PM] Tron: Yes
[5:10 PM] Jeroz: kralverde are you here to give a quick update on electrum-raven? That image you shared a few moments ago was really great to see.
[5:11 PM] fdov: Is there any progress on the organising of bounties? – It slightly worries me that the two biggest payouts ended in solutions that does not work, that we need to fix, after they are paid.
[5:13 PM] fdov: (I got the other two that are paid, full disclosure :sweat_smile: )
[5:13 PM] boatsandhoes: is there a webpage or something that shows the full list of bounties, paid, and unpaid?
[5:13 PM] Jeroz: https://ravencoin.foundation/proposals
[5:14 PM] SVY: Now that's transparent development
[5:14 PM] fdov: https://ravencoin.foundation/proposals/
[5:15 PM] Jeroz: Ill show this quickly then. This is kralverde's work. Little screenshot of his electrum client.
[5:15 PM] boatsandhoes: thank you :pray:
[5:15 PM] Tron: This gets into the standard "What is the definition of done?" and other Agile/Scrum principles. I think this will get better as issues are completed and integrated faster.
[5:16 PM] Ben: only 102 SCAMCOIN though? don't they want to be rich in 50 years?
[5:16 PM] kralverde: Whats happening?
[5:16 PM] Tron: I would like to delegate some of this work as I have become a bottleneck to the progress of allocating funds (and other things).
[5:17 PM] boatsandhoes: which specific tasks do you want/need to delegate?
[5:17 PM] Tron: I was going to wait until next Thursday for the Ravencoin Foundation meeting, but here's a list of delegatable tasks.
[5:17 PM] Jeroz: fdov I think it's also mostly a circumstantial issue. We moved within a month from "we have no implementation timeline" to "we can test this in an hour", mainly thanks to you!
[5:18 PM] boatsandhoes: and is there a page like the proposals page for all the tasks that need to get done, a summary, and person or people picking up the baton for each task?
[5:18 PM] Tron: Commenting is open, so join the conversation or volunteer, or help pick which ones should be funded from the foundation.
[5:18 PM] Tron: https://docs.google.com/document/d/1dvcO5dXqWzwnR8lf9_vMsqDtPyZClaLlWZ7vQovTWms/edit?usp=sharing
Google Docs
Foundation Tasks
Color Code Delegated Partially Delegated Delegatable Desired Accounting and Bookkeeping Crypto Keeping spreadsheet up-to-date (incoming and outgoing) Balancing crypto account (BTC/RVN/USD) Paying out bounties Fiat Balance account Update website (Google Sheet) accounting Paying out reimburseme…
[5:18 PM] boatsandhoes: Sweet! Thank you
[5:20 PM] Tron: If you weren't aware, Blockchain Tiger donated another $100,000 to the foundation on May 5th.
[5:22 PM] Jeroz: Is that to keep ravencoin campus running? Last week Roshii told us that its quite costly to keep it hosted each month. Or was there no specific goal attached?
[5:25 PM] Tron: No specific goal attached. He has suggested $10,000/month for me with the remainder used for what the foundation needs. The foundation's goal is to help the Ravencoin ecosystem, which is large and multi-faceted.
[5:26 PM] Jeroz: fair enough
[5:27 PM] Tron: We did discuss in the Wed meeting the Ravencoin campus and the additions. I've asked for a breakdown of the additional costs because I was not aware there were additional costs until Roshii informed me. The costs for some things may not be worth it. It feels like Blockchain Tiger has the right to make those determinations, but if he chooses to delegate it, we will need to pick and choose. It feels strange to decide whether an additional virtual building in a virtual place is worth "building".
[5:28 PM] Tron: I am pushing for adding a Pay/Tip option in the campus, where everyone can add their Ravencoin address to their profile.
[5:29 PM] Mango Farm: Please keep the boat
[5:29 PM] Mango Farm: : )
[5:30 PM] Tron: And trying to get them to have it notify users if someone clicked Pay/Tip for them so that it becomes viral and encourages adding a Ravencoin address to your profile.
[5:30 PM] Tron: The boats must stay!!!
[5:30 PM] boatsandhoes: that would be great. would do a lot for in world bazaars
[5:30 PM] Jeroz: Is there also a virtual self-test booth with a PCR lab next to it ? :rofl:
[5:31 PM] Saphire: If rosetta API will be done without any problem CB will list rvn without any cost?
[5:31 PM] Ben: we don't 100% know what CB will expect from us after we submit again
[5:31 PM] Jeroz: theres no guarantee that they ever will.
[5:31 PM] Ben: i wouldn't imagine there would be a cost imposed to us, but others might know that
[5:31 PM] fdov: I think the focus should be shifted to core development. This game-world is probably cool, but without an actively developed core and network…. when was the last release with anything but critical fixes?
[5:32 PM] Tron: I have no additional information on Coinbase. Once Rosetta is ready, I'll reach out again (somehow) and let them know. I don't think they would charge. They benefit from demand/usage.
[5:33 PM] HyperPeek: I like a boat tour to the beach though… . Work-life balance :stuck_out_tongue:
[5:33 PM] fdov: i have 20m to the real sea, don't need a virtual one. :slight_smile:
[5:33 PM] Abdo: :thumbsup:
[5:34 PM] Saphire: Rosetta API was the only requirement by CB? or there could be new one ?
[5:35 PM] Tron: I brought up a stablecoin on Ravencoin a few weeks ago and the general consensus was that the foundation shouldn't pick commercial winners and losers. The company has revised their proposal to include open-source 2nd tier additions instead. I also couldn't use their name because the asset would've been grabbed. Take a look at stably.io. I'll provide more info about their proposal at the foundation mtg on Thurs.
[5:36 PM] Ben: i believe rosetta was the primary thing needed from us on the last rejection. once submitted again there may be additional hurdles which we may need to work through with them, but i don't believe there would be any new development needed
[5:37 PM] Jeroz: generally you dont hear anything. So its not really a "rejection"
[5:37 PM] Ben: hard to say, i didn't submit the form last time and its seemed pretty black-box
[5:37 PM] Ben: yea
[5:38 PM] Saphire: if CB wants to profit by raven trades why they dont help for the rosetta API codding ?
[5:38 PM] Tron: There's a petition out there with over 1000 signatures to add Ravencoin to Coinbase.
Sign the Petition
List Ravencoin on Coinbase and Krakenfx
[5:38 PM] Ben: Saphire because it's cheaper for them to have us do it instead :rofl:
[5:39 PM] Ben: CB will profit no matter what coins they list lol
[5:39 PM] Jeroz: That's not how it works. We reach out to them with an application. We try to tick off all the boxes and then hope that the interest is mutual.
[5:40 PM] Tron: That's right. They want activity. Purchasing, trading, etc. Ravencoin is a great candidate.
[5:40 PM] Ben: we hope to be unique/active/awesome enough that they see the value.
and we've been doing really good on top 100 lists
[5:41 PM] Saphire: thanks for your answers
[5:42 PM] Tron: Just FYI, there's a presentation/meetup by MangoFarm in about 20 minutes in Ravencoin Campus.
[5:42 PM] Vincent: which arena
[5:42 PM] Rikki RATTOE – RVNFT.art: conference hall
[5:42 PM] Ben: is someone gonna be able to stream it?
[5:43 PM] Mango Farm: Hope to see some of you there. I'm going to drop to get prepared.
[5:44 PM] Rikki RATTOE – RVNFT.art: be there or be square!
[5:44 PM] Hedger: A link would be great:)
[5:45 PM] brianmct: https://download.ravencoincampus.com/
Install
[5:45 PM] brianmct: gotta download Virbela, create your avatar, then go to the conference hall
[5:49 PM] brianmct: gonna close the channel – see you all next week!
submitted by /u/Blockchain_Surfer
[link] [comments]