- 27 February 2024 (447 messages)
-
Yeah.
-
-
-
You care
-
-
-
-
That’s one reductionist dimension.
-
You won’t accept the explanation, but that is not anyone else’s problem.
-
No one has to accept your frame
-
-
-
You need to make the success of Counterparty more tied to the success of XCP to get nice things or else the incentives are misaligned. And what you get are competing solutions to Counterparty instead of better Counterparty. And users, if that is your constituency of concern, however loosely or hand-wavy you define “user”, are left in a tragedy of the commons situation, like if their town stopped picking up trash or maintaining the sewers. No nodes, no wallets, no updates to code, no support for new address types, we’ve skated close to all of these things for years. JDog prevented the worst of those outcomes. But rearchitecting the incentives towards XCP creates a new opportunity, not a guarantee, for better services and tech for users because there is a carrot there for investor-developers. And users too can participate in the economic upside. Even if you don’t own XCP. For example, your existing project built without certain fees has a grandfathered advantage. It’s not useful to create thick boundaries of user vs dev or whatever other bucket. Most people play more than one role. And this is cryptocurrency, it’s not save the world altruism. We’re building public domain flywheels, usually the benefits of which are fully privatized. Counterparty has been spinning but its energy has not been properly focused.
-
-
-
-
Hardly
-
-
-
-
Ok, so you are onboard with the idea generally.
-
-
-
It’s polite in crypto not to ask. Like it’s polite to not ask people if when they say “historic NFT” is it not just to make the number go up.
-
And I’m just speaking to my own experience, I don’t know anyone’s plans or thoughts. I know I’ve bought a bag of XCP and tried to improve the network and failed before.
-
But I only pursued it because I thought it could work.
-
-When the network is used more, it means it is more important to its users.
- If it is more important to its users, then there is more at stake if something goes wrong.
- If more people care that things work well because they have a bag, then it is better for users and better for bag holders and better for developers. those can all be the same exact people.
- Burning the XCP instead of sending it to a dev pool is a trustless way to fund a general dev pool. -
this is why tying XCPs value to network usage should, in theory, align incentives better than they have been.
-
-
So is part of this assumption that there would be a dev fund/funds with large sums of XCP and that will be used to sustain the network?
-
No.
-
Everyone's getting caught up on the burn, which is an implementation detail.
-
I’m getting lost in the logic
-
It’s an interesting argument, but a similar argument can be made for the value of the assets that exist on counterparty.
We see the value of things like rarepepes, and their existence is predicated on counterparty being a functional protocol. So if this theory were true, and there were a virtuous cycle linked to the value of the network, why is counterparty in this situation? -
-
That is not ironic at all. That is the Tragedy of the Commons. According to the concept, should a number of people enjoy unfettered access to a finite, valuable resource such as a pasture, they will tend to over-use it, and may end up destroying its value altogether. Even if some users exercised voluntary restraint, the other users would merely supplant them, the predictable result being a tragedy for all.
-
because users treat the network like it's a server someone else is hosting. This found its most extreme expression in the decision to put dispensers on-chain, which is just outsourcing a regular old business to the network.
-
By that logic, isn’t the dex also outsourcing a business to the blockchain?
-
no, the dex does something you can't do offchain
-
the dex solves a trust problem; dispensers solve an availability problem.
-
Well it proves the token is not required for a project to be successful. And the protocol can handle free assets just the same as the ones that required XCP
-
-
this is assuming the conclusion. I do not consider Counterparty a success because of the misalignment between users and the platform whereby the latter was allowed to get into a nearly unusable state because it was good enough for every business's case.
-
dispensers can never be trustless, so no, it's not correct.
-
Well that is the trade off for better UX. But in terms of performance, which is the main argument against them as far as I can understand, can be easily solved
-
there are several arguments against them and one argument for them: diffusion of responsibility because no one wants to run a dispenser business
-
Both are problems, to say one is a more acceptable use case is a matter of opinion.
-
it's true, I think that replicating logic on-chain that would be better off-chain is a bad use of the blockchain.
-
people can disagree about that, I grant you.
-
-
I guess I just don’t believe that more xcp fees leads to a better network, I’d prefer xcp liquidity to xcp utility
-
-
you just do what vennd did
-
you centralize it
-
it _is_ centralized
-
-
-
it's just centralized and onchain, which is weird but I grant you possible.
-
GitHub - vennd/vennd
Contribute to vennd/vennd development by creating an account on GitHub.
-
-
i don't know it's been ages
-
dispensers are very similar to market makers, except with insane counterparty risk
-
-
-
at a high level what you want to do is send btc to an address and get an asset back. why that would be on-chain is beyond me.
-
-
yeah, _that's_ a microcosm of Counterparty's cultural problem.
-
For better or worse, here is my high level take on the situation.
The counterparty ecosystem has many dedicated users, but I don’t think the user base is thriving by any stretch of the imagination. Daily counterparty transactions are somewhere around 1000. This user base is much too small, the infrastructure is lacking to say the least and there are virtually no large scale integrations.
I think UTXO PSBT trading is logical step to bridge this gap. It will allow for an order of magnitude more activity and drive assets into the hands of many more users. Additional steps to that process inhibit growth. I think network value comes from assets in the hands of active users. The focus should be on user and infrastructure growth. By infrastructure growth, I’m thinking predominantly about seemless integrations with web wallets and established marketplaces.
Itokenonics should be a distant second that will come with more users and features that directly align incentives (AMM dex fees, rollup fees). -
Because that’s how users perceive other Bitcoin protocols to currently function
-
-
Asset for sale, push button receive asset
-
Is easy for sellers and buyers. I’ll give you that the implementation was not the best. But it is solvable with minimal adjustments
-
the premise is non-falsifiable and in the meantime we just keep cruising along with an untenable situation without a concrete plan of how to sustain the platform.
-
Psbt marketplace fees is the lowest hanging fruit
-
Those could go direct to development
-
the theory here is the same as it's always been: with enough users the problem will solve itself.
-
This is a funding solution
-
in spite of what's been ascribed to me, funding development is not my primary concern
-
Funding development is key to a sustainable platform
-
-
it's creating a culture wherein those who use the platform care about its state.
-
Let's shelve this please
-
-
Sir isn’t this what we’ve been talking about
-
-
Overwhelmingly they don't. If we can fix this the rest takes care of itself.
-
“How to sustain the platform”
-
Psbt marketplace fees are a concrete plan
-
Not a pressing issue currently
-
sorry, yes, I think that for the platform to be sustainable there needs to be a general culture of caring about its state. money is a part of that, but not the biggest part IMO.
-
Do you have some examples that you feel are successfully doing this? Tbh, I just see a tragedy of the commons everywhere, including Bitcoin.
-
Psbt isn’t how things work now. So it’s not very low fruit. And taking tx fee got devs of a dex arrested I think.
-
So part of the assumption is that burning more xcp will make users care about sustaining network development?
-
yeah, I am not taking an excise. Period.
-
idk what to say man, this is like how Bitcoin didn't die on the table.
-
the burning _is an implementation detail_
-
the conceptual point is aligning the value of the native currency with activity on the network.
-
-
I have a bag of xcp and I’m all for it doing a 50x. That said, counterparty already holds assets of immense value, shouldn’t that have provided at least some of the benefits your talking about?
-
All of those users have a direct financial incentive?
-
I want to believe!
-
Lol
-
-
☝️
-
When CounterParty is patched up good again, a culture of successful projects donating to core devs needs to be fostered.
Due to the state of things, historically many successful projects jumped chain after raising funds. Functioning in good working order should retain projects going forward 🤞 -
they don't and that's exactly what's surprising.
-
In general I don’t like the culture that comes from having a paid dev team. I would have wanted to be paid. Yet I’m not.
There are clear benefits to have a focused group of people working on a piece of software. And even more if is people familiar with it.
But it should not become a hierarchy where then these group will want to continue building features just to justify their payment.
TLDR: Dev team leads to centralization. -
all of the thinking here is embryonic. what I said that triggered this extremely unpleasant back-and-forth is this: "to be clear: the UTXO tracking necessary for Derp's CIP will have a substantial externalized cost, too, so an XCP fee for binding counterparty assets to UTXOs should be contemplated, as well. OTOH since they're trustless you don't need to make dishonest behavior prohibitively expensive."
Does this sound like someone with a super secret awesome plan? -
bitcoin did it. If we can have half of the development activity today that bitcoin had in 2014 then we can do _anything_.
-
We all generally agree on a couple of key points:
1º Counterparty definitely needs some focused attention from both developers and stakeholders to iron out the kinks and spark new innovations.
2º It’s crucial to make sure that the assets on Counterparty stay liquid and easy for everyone to access, steering clear of any unnecessary frictions.
Reflecting on the diverse viewpoints shared in this discussion, I understand the concerns about how a paid development team might shift the culture towards centralization. It's about finding that sweet spot where we can harness the expertise of developers without creating an unwanted hierarchy.
Establishing a bounty fund and incentivizing node contributions could stimulate development and promote a healthier market dynamic as they would add liquidity back to the market. hese incentives should encourage contributions from the wider community, sidestepping the need for a fixed, centralized dev team.
On the topic of enhancing the platform's native token, the ideal goal is to boost its utility and liquidity without complicating things for users. Ideally, we want a system where interacting with XCP isn't a hurdle but rather a seamless part of the experience, driven by demand from platforms that utilize XCP for various fees.
Action Plans:
For Development Incentivization: Instead of a traditional paid developer team, let’s create a bounty fund that rewards impactful contributions. Bounty creation should be community-driven, with proposals and votes cast using XCP tokens. Also, granting voting power to other Counterparty assets, albeit with lesser weight, acknowledges their value and involves the community in steering the platform’s future. This mechanism not only adds another layer of utility to the XCP token (and justification for the fee) and use of the network but also democratically involves our community in deciding the platform's development direction.
For Enhancing User Experience and Liquidity: Implementing user-friendly solutions like PSBT is key. While having a healthy market dynamics of people earning XCP and platforms needing it or users to vote. Alongside, efforts to get XCP listed on more exchanges and a strategic communication campaign could better position Counterparty externally. Welcoming new creators and projects will inject fresh energy, broadening the platform's appeal and functionality.
I think we are in a great point where we just have to find the common ground and declare options that will maintain us united and motivated for the future, we are all Counterparty. So all the viewpoints in this conversation will be the same of the community. -
Sorry for the long text, you can read at it in the bathroom lol
-
I´m not here for discussing, but more for gather all viewpoints as I see many valid motivations in each side that i´ve tried to gather after reading you all.
-
Joined.
-
Oh my, 800 unread messages. The heated discussion is on XCP fee on utxo binding?
We have always had XCP fees on computationally expensive operations. Like on dividends since 2014. Ie xcp fee when the btc fee is not sufficient.
As far as i understand, utxo binding can be implement in several ways. Let's explore different implementations. Maybe a simple solution exists, so no need for an xcp fee? -
Could what i outlined on github work?
https://github.com/CounterpartyXCP/cips/discussions/134#discussioncomment-8369884PSBT Support via attaching assets to UTXOs · CounterpartyXCP/cips · Discussion #134CIP: XXX Title: PSBT Support via attaching assets to UTXOs Author: Derp Herpenstein Discussions-To: ?? Status: Draft Type: ?? Created: 2024-1-26 Definitions PSBT - Partially signed bitcoin transact...
-
-
-
Long time no see @B0BSmith !
-
very happy for Stamps for all its success but unless something's changed the deployment model is essentially a private network run by the major economic actors. Nothing inherently wrong with that but not what Counterparty is trying to do (even if it is effectively the case now)
-
In a private deployment model the tokenomics become superfluous since regular business incentives can take effect.
-
(most concretely this means you can use traditional BFT rather than Nakomoto Consensus, but viz. computation you can just offload the costs back onto your users)
-
Joined.
-
Wow what happened? 800 messages behind, lots to read.
We in this room understand the performance issues and barriers to entry regarding running an xcp node. Spinning up a new node and the node taking some time to index, verify, synchronize etc is not the end of the world, but good job with the performance gains.
As long as the final performance of counterpartylib/address index/counterblock is ultimately fast enough to keep up with new blocks, I don’t see the big stressors about performance. Launching a new node quickly and easily is not as important as the feature set. -
-
I am just a Counterparty user who made a few stamps I am not involved economically nor am I involved in deployment ...
Keyburn the idea was open sourced, anyone is free to use or to not use it when making stamps
I am patiently waiting to see the spent prunable stamps distinguished from the unspent ones -
Can we do it without requiring utxo tracking?
We need three new message types then:
1. to bind token to utxo. Counterparty wont check if utxo exists
2. send from utxo to specified address (for psbt trading). Unlike all other counterparty messages, the input utxo is the implied initiator (not the address).
3. redeem to origin, valid only if utxo does not exist (safety mechanism in case of accidental utxo spend). This will require utxo tracking but only when this msg is detected. -
-
-
Not if you require a counterparty message
-
I could spend a asset containing utxo with no counterparty message n Counterparty would need to know else it will assume the utxo still contains a asset
same for stamps I could spend just one of the many outputs that makes a stamp and stamps needs to know as it then no longer fully utxo resident -
yeah unfortunately this doesn't work. you need lots more checks along the way
-
Bitcoin does this every block pretty efficiently
-
And that’s for all utxos not just those that explicitly hold counterparty assets
-
Runes does exactly this as well
-
yeah 'gettxout' is the rpc command
-
For the record, I’m not against xcp fees for any future counterparty smart contract / amm functionality, just don’t think it’s going to be an easy design choice to defend for utxo binding in the current bitcoin indexer environment
-
And after years of sucking it up wrt design choices I don’t have it in me to defend something I don’t agree with
-
Why?
-
you need to run that command for each and every data carrying vout in each and every stamp creation tx after each block, but you only need to run for the specific vouts when using for psbts
-
Joined.
-
I'm not intending to be rhetorical. It is a genuine question
-
I didn't think you were being rhetorical, but it's too early to say how it'll work. Gas systems are complicated.
-
I suppose my point is that this should be addressed before the system is created so that it can it can be considered when being made.
For example. If one XCP gains the value of $1000 or more (for weeks or months on end), the fee to create a named asset should be scaled back to something like 0.05. Likewise if it costs ten XCP Satoshi to do things when XCP is in its current state, then there should be a way for the developer team to change the rate, down to one. That is to say, unless the fee can be dynamic based on value determined from on-chain trade history. Trustless salable fees would be the best possible case, imho -
-
-
-
? I think the fees are hard-coded atm?
-
yes atm but word was
-
it'll totally be addressed. It is _part_ of the gas system
-
but this is the progress on a gas system: https://github.com/CounterpartyXCP/counterparty-lib/pull/1455[WIP] Counter cache field for dispenses count by ouziel-slama · Pull Request #1455 · CounterpartyXCP/counterparty-lib
Finished but currently being tested (with a reparse from block 585000)
-
IMO you should do something fancier than this and make it a function of the onchain xcp/btc market rate
-
^ atomic swaps in particular will make this highly workable.
-
gotta be clear given yesterday's conversation: this isn't a plan or an idea that is representative of anything other than my own thinking at this extremely early stage.
-
there are multiple parties here, some people are part of both, but the majority of users seem to either want the price of XCP to go up, or the protocol to be as sound as possible. These two objectives are at odds with each other because they are interconnected as they opposite ends of the same stick.
This notion is to address the scalability of the project, not in technical ease of use, but to prevent it from being something only affluent people can use and hopefully keep the protocol more accessible to all by keeping it affordable.
I am not trying to convince anyone, just attempting to voice something that I feel is relevant before it is overlooked -
this is just the same debate that's been going on with all high demand blockchains since day 1
-
the way to tackle it isn't by hacking the fee system in some particular way, but to increase throughput with something like rollups like @herpenstein mentioned.
-
No, it doesn't. It doesn't even calculate balances for every address.
-
I think the fee can and should be dynamic, and it should start off super low.
-
-
this is a straw man. adding new features to the protocol will not make it "less sound"
-
-
that's backwards: if a change breaks things, it won't be implemented.
-
@jp_janssen put the l1 rollup idea together and did some deeper analysis. At scale it would be possible to 8x txs/s on Bitcoin with something like this. Fees would by necessity be paid in xcp. Win win
https://github.com/CounterpartyXCP/cips/discussions/127Bundled Txs = 80% Lower Fees · CounterpartyXCP/cips · Discussion #127By bundling multiple Counterparty messages from several users into one Bitcoin transaction, I believe it can be possible to reduce fees by >80%. Key assumptions: A bitcoin address can be recover...
-
awesome i don't mean to not give credit where it's due @jp_janssen !
-
i need to review/edit what I wrote, that is not what I intended to communicate. While it has in the past, I see no reason to believe that currently
-
Until last week I didn’t realize it either
-
ah wow a lot in here, need to review. @teysol
-
good find, derp.
-
(and nice work, JP!)
-
We're going to do it all. I meant what I said yesterday: if we can get a proper dev culture around the Counterparty platform we can do anything.
-
two ends of the same stick comment, I was trying to illustrate that although it seems at times that the party who wants XCP price to rocket and the users who want a fully functional protocol lose sight that they are discussing the same topic. All too often a single sticking point divides the camps more, based on narrative. However, sacrifices of ideals will need to be made for this venn diagram to work.
This graphic fully convinced me.
in the conversation over the last day and a half there was a very valid problem of optics brought up. However, this can be overcome with education.
Myself, I am willing to dump dispensers, if that means that the protocol itself is stronger, and easier for people to spin up nodes. There are many interconnected variables, technically and socially, and I think it is difficult for the average user to have empathy for more than one camp.
AFAIK adding proportional fees to things that burden the network is pretty much accepted, as demonstrated by the recent poll antics. Last time the problem was the shortened fork notification.
What are the outcomes of eliminating dispensers and replacing them with something more sound? Possible fork? Again, back to education. Users will want to be part of a protocol without bugs, as it will have the best chance at longevity. -
I am sure my draft can be considerably improved. Just happy if this gets the snowball rolling.
And yea, this where a good xcp fee system becomes essential. -
has to start somewhere. lotta work to do but the vision I think is quite strong and each individual problem is tractable.
-
Btw my draft is based on Devon Weller's from 2015'ish.
-
@jp_janssen this is now a given I think
>Op_return is max 80 bytes per standard rules. But protocol rules do not enforce a limit, so we could convince a miner to allow accept such transactions. -
Doesn’t it need to ensure that utxos spent in a block existed to be spent?
-
it's great to hear your support. but as far as I'm concerned the users come first, so we're not going to kill dispensers until we have an excellent replacement for them
-
-
The only way a ‘fee’ sounds correct IMO is if the XCP fee can be seen by layer1 and layer1 can somehow rely on the XCP tx (hash?) for reference, adding true utility, besides on node calculations run by willing volunteers.
-
Fees are fine. I can’t park my boat there normally, but I can for a fee! (Parking ticket)
Give true utility and people will pay a fee. -
This. Volunteers, not miners receiving a cut of XCP.
-
Unless the fee tx includes real utility, this applies IMO.
-
Does it lag behind layer 1 after initial sync?
-
doesn't require much convincing anymore. https://slipstream.mara.com/
-
FYI, not really related but I saw some mention of roll-ups earlier, so here is a new partnership we've just announced: https://x.com/BVMnetwork/status/1762448715225170233?s=20Bitcoin Virtual Machine (@BVMnetwork) on X
The Data Validity layer from @Stampchain is now available on @BVMnetwork. With this integration, developers can now choose to roll up to Bitcoin as Stamps or Ordinal Inscriptions when setting up a new Bitcoin L2. What makes Bitcoin Stamps unique is its unprunable nature. Unlike…
-
Define valuable. In fiat or in utility?
-
I am correct in saying, that project is completely separate from the project to actually make a Bitcoin virtual machine?
https://bitvm.org/bitvm.pdf -
Separate. It’s the team behind Bitcoin City which was a competitor to Friend.Tech
-
I’m not here for JPG slinging bag pumping. I have been here for years wondering if XCP can rise to the likes of Omni and allow me to use it for real world utility. Tag me when that becomes a possibility.
-
Tether doesn’t even use Omni anymore, right? What is running on Omni these days?
-
What is “real world utility”?
-
Real Estate deeds on the blockchain?
-
tether/omni is actually a great case study in how an indexer can become captured by a single successful project
-
Tether did not use Counterparty for almost a decade.
-
it never used counterparty
-
there is still tether on omni but i believe its slowly being phased out
-
-
It used Omni
-
Anything besides tether?
-
-
Wasn’t it literally the same team behind Omni that started Tether. Craig Sellers? I think… I thought Omni was purpose-built for Tether rather than being “captured”
-
Omni and Tether teams were overlapping yes
-
Fork?
-
omni hard forked to freeze stolen tether balance from bitfinex
-
-
still about $150mil tether on omni
-
it wasnt originally, i remember buying maidsafecoin on omni early on
-
the team may be the same but it wasnt marketed as a tether machine
-
Wow that’s a throwback
-
i assume maidsafe is still in development 😆
-
Got teleported back 10 years to trading on poloniex and btc-e
-
how much did they raise? IIRC it was unprecedented at the time
-
i think it was bigger than the mastercoin raise
-
mastercoin was only $500k
-
yeah def bigger, i remember it being a few million
-
hows your $MAID bag?
-
Ready for a breakout, any day
-
-
i dumped that pretty quickly lol
-
ah wow yeah that was an order of magnitude more than anyone had raised up to that point afaik
-
Still waiting on my Mt. Gox payout!
-
Lets vote on it.
-
Bump
-
you don't vote :/ you run the version of the software you want.
-
if this isn't a distinction without a difference then you have a problem.
-
-
-
I think that...
-
I only know that I know nothing.
-
Can we define the utility then?
-
Bro, lately there is a fierce competition to invent, discover a new way or protocol or technology. only with the objective of achieving merit and recognition.
-
That brutal desire to discover the holy grail of a new fancy techie protocol led them to lose focus on what was most important.
-
To this point, @teysol Periwig is it certain that 10.0.0 will be released with no consensus changes allowing current node runners to continue with 9.61.1?
-
?
-
there are consensus bugs
-
so we have to change consensus rules.
-
I got scammed by BTC-E hahh around 190 btc
-
Next 👍
-
Look carefully and you might find VC money in this chat.
-
No one is asking anyone to shut up or take a backseat. The issue is there are multiple showstopping bugs. I think @teysol is seeing if they can do a hotfix release.
-
v10 fwiw will be > 10x faster, have a working test suite and updated checkpoints. would help users if they upgraded to it...
-
-
If you remove the generic exception handling then you hit the division by zero error. if you don't remove it then you have a source of non-determinism. Not sure if that means we need to include addressing all of this in the hotfix release if v10 is meant to be an optional upgrade...
-
division by zero was discovered because generic exception handling was removed; truncated scriptpubkeys was discovered because of updated checkpoints.
-
xcpdev already has the broadcast issue fixed. If that one is your main concerns, it is an easy fix to apply and there will be no need to have an intermediate protocol version before v10
https://github.com/CNTRPRTY/counterparty-lib/commit/ab662e179d663d6873da96c3591be3fc6fadba12- Now if a broadcast has a malformed text, it gets rejected · CNTRPRTY/counterparty-lib@ab662e1(cherry picked from commit 6520fbddc3a36754e2376cf8dadd20ab2e4e55c5)
-
the issue I see is that you can have bugs that won't crash the network but fixing which will still require a mandatory upgrade.
-
And I’m taking the time to read this stuff? Where are we? When are we?
-
-
-
-
-
-
We need kill the bug and then inspect it, step by step, proposing simple solutions.
-
-
Danger danger. True, but dangerous regarding liability and governance.
-
It’s technically a refried burn as XCP is burnt BTC.
-
Milestones, goalposts, terms and set deliverable dates could help mitigate runs on development.
-
You can’t leave the chat ever. We need you in here at all times please.
-
We should include all of JP J’s ideas. We always circle back to JP J anyways.
-
Your hegelian dialect is above all others! Congrats.
Thanks for sharing all your deep thoughts @chiefsockyaza -
its a lucrative business for magiceden, my point was just that there is an opportunity there, obvi it needs to be done the right way
-
-
yeah i dont even know what “protocol wide” means in this context
-
there is no “xcp foundation” its just independent developers
-
“Those could go direct to development”
-
I am of the camp that a formal foundation is a bad thing.
-
Based on what evidence? Most sucessful projects have a foundation in his core...
-
yes it was a suggestion that developers working on development could build a profit making enterprise with
-
thus bringing in more developers, etc etc
-
-
My brain
-
https://hushmoney.org/501c3-problems.htm foundations introduce layers of issues.501c3: Problems with 501c3 tax-exempt status for the church
Are there any legal and theological problems associated with a church becoming an IRS 501c3 tax-exempt religious organization?
-
I’m only joining the foundation if the meetings are like this https://youtu.be/BKorP55AqvgThe Expert (Short Comedy Sketch)
Subscribe for more short comedy sketches & films: http://bit.ly/laurisb Buy Expert shirts & hoodies at https://laurisb.myshopify.com/ Funny business meeting illustrating how hard it is for an engineer to fit into the corporate world! Watch the next episodes: http://bit.ly/SquareProjectEp1, http://bit.ly/SquareProjectEp2 & http://bit.ly/SquareProjectEp3 Starring: Orion Lee, James Marlowe, Abdiel LeRoy, Ewa Wojcik, Tatjana Sendzimir. Subtitles available in many, many languages (enable them using the "Subtitles/Closed Captions" button). A big thank-you to everyone who translated! You can add new subtitles here: http://www.youtube.com/timedtext_video?v=BKorP55Aqvg Written & Directed by Lauris Beinerts Based on a short story "The Meeting" by Alexey Berezin Produced by Connor Snedecor & Lauris Beinerts Director of Photography: Matthew Riley Sound Recordist: Simon Oldham Production Designer: Karina Beinerte 1st Assistant Director: James Hanline Make-up Artist: Emily Russell Editor: Connor Snedecor Sound Designer: James Bryant Colourist: Janis Stals Animator: Benjamin Charles The original short story about drawing seven red lines "The Meeting" (in Russian): http://alex-aka-jj.livejournal.com/66984.html The Expert shirt campaign is over, but let me know if you'd be interested, you can check it here: https://bonfire.com/the-expert We made this video using: - Canon 7D camera: http://amzn.to/1FuXXVv - Final Cut Pro 7: http://amzn.to/1Lt7UrZ - Web-based Cyrillic converter: http://2cyr.com/ - The Hospital Club premises for a stage test (only partially recorded...): http://thehospitalclub.com/ - Libre Office Calc to make sense of the shot list... - 7 different markers and an empty juice pack to get the right sound - 7 red lines - A bottle of single malt whiskey Funny short comedy films / sketches / skits & any other videos / movies made by Lauris Beinerts. If you like to laugh, subscribe for new (albeit irregular) videos! Семь красных линий Гуманитарий и инженер Дизайнер и заказчик 工程师心里的痛只有工程师能懂 史上最悲催工程师 如何用透明笔画出红色线条 #ShortComedySketch #expert
-
the Bitcoin Foundation springs to mind
-
not sure if anyone is running develop, but counterparty-server is chugging along!
-
Classic lol
-
ANN hotfix release of counterparty-lib v9.61.2
This release fixes three critical bugs that can disrupt the network:
* Integer overflow in dispensers
* Invalide broadcasts with malformed text
* Bad logging for destructions with an invalid asset
https://github.com/CounterpartyXCP/counterparty-lib/releases/tag/untagged-d7002d440f94bfcee202
Making this release because the next real version, v10.0.0, is going to take another few weeks to come out. Hoping to have v10.0.0-alpha out in a week or so, howeverReleases · CounterpartyXCP/counterparty-libCounterparty Protocol Reference Implementation. Contribute to CounterpartyXCP/counterparty-lib development by creating an account on GitHub.
-
Release v9.61.2 · CounterpartyXCP/counterparty-lib
9.61.2 Release Notes This is a hotfix release: Fix integer overflow in dispensers. Invalidate broadcast with malformed text. Fix Logging for Destructions with Invalid Asset. Upgrade Commands fedn...
-
In my explorer, I can trigger a reorg back to a certain blockheight and it re-indexes from there. Do you think its worth re-indexing from a certain block with this hotfix?
-
-
kk
- 28 February 2024 (108 messages)
-
@robotlovecoffee how's it going? did addrindexrs sync?
-
have this not sure if mean caught up
-
DEBUG - applying 1 new headers from height 832391
DEBUG - downloading new block headers (832392 already indexed) from 00000000000000000001e138955ad6de6246a241d3a58d2a3bb5bc280025e384
INFO - best=00000000000000000001e138955ad6de6246a241d3a58d2a3bb5bc280025e384 height=832392 @ 2024-02-28T10:09:32Z (1 left to index)
INFO - indexing block 00000000000000000001e138955ad6de6246a241d3a58d2a3bb5bc280025e384
DEBUG - applying 1 new headers from height 832392 -
been busy past few days so have not been checking, I think it is good and I can start counterparty
-
Joined.
-
Yes that means you're good to go!
-
should be merging a pr that optimizes dispensers perf shortly. you dont have to wait for that to run counterparty kickstart.
-
WARN - rpc #249 blockchain.scripthash.get_oldest_tx [String("ebe3f56075fe3613fe53555407789253b31bcf57856700da32f74245b0e166ab")] failed: Error: no txs for address
-
that is scriptpubkey hex. probably a good sign that we were truncating them LOL.
-
>>> from bitcoin import SelectParams
>>> from bitcoin.core import x
>>> from bitcoin.core.script import CScript
>>> SelectParams('mainnet')
>>> scriptPubKey = CScript(x('2d0cf18ab1b70d6a0d76ec8752c86bf499bff7263817e3d4615984501d9fd0b7'))
>>> scriptPubKey
CScript([x('0cf18ab1b70d6a0d76ec8752c86bf499bff7263817e3d4615984501d9fd0b7')...<ERROR: PUSHDATA(45): truncated data>]) -
@teysol do you have a sense of what minimum specs for a node will be once optimizations and parallelization are completed? will get something ordered
-
fyi all, we'll be merging dispensers into develop. for anyone running develop this will result in a consensus hash mismatch at the checkpoint at block 825k. It is being worked on.
-
good question. I don't really know, but here are some guesses:
at least 1.5 TB of storage for Bitcoin, addrindexrs and Counterparty on mainnet and testnet. When we kill addrindexrs we'll have to increase the size of the Counterparty DB significantly (actually we'll probably put it in RocksDB). also speed matters—ideally not SATA or USB, but USB 3.x should be fine??
then 4 cores and 12 GB of ram -
i’m assuming sata III (6 Gbit/s versus usb 3.0 5Gbit/sec) is fine. I will probably do a NUC 11 and add a 2tb sata III.
-
clarifying - i’ll do 1tb nvme plus a 2tb SATA iii for addrindex
-
-
-
-
i do addrindexrs over usb 3.0
-
it's fine
-
a subset of the data will be stored in rocksdb or the entire cp db?
-
the problem isn't performance it's that sometimes addrindexrs thinks it doesn't already have a copy of the db and starts indexing again...
-
-
the comma is confusing 😝
-
Got a pi 4 I’m thinking about getting setup locally just for fun. Handles a Bitcoin node just fine, perhaps 10.0 will also work out okay
-
i used a cm4 for a while, it was alright.
-
i guess i can do a bare bones NUC 11 and buy a 4tb nvme, it’s only marginally more expensive and it sounds like some future proofing is needed for mystery size growth after addrindex removal.
-
again, the problem with addrindexrs at this point, really, really isn't performance lol.
-
personally wouldn't worry about future proofing because killing addrindexrs should happen after it's pretty easy and quick to get a counterparty node synced. you can get a bigger nvme drive later if needs must.
-
-
-
why are you preferring usb 3.0 to sata iii?
-
@teysol what about encrypted partition vs not. you said the former was 2x slower than the latter?
-
Thinking about my dev environment - my ideal situation is i have one machine where i can run a prod counterparty node and also a counterparty node I am using to develop. can i connect them to the same instance of bitcoind? i imagine they’ll each need their own copy of addrindexes so id need to double that storage size
-
should I run with Bootstrap or not
-
nope
-
run with kickstart on develop
-
is has this is rm
-
counterparty-server bootstrap
counterparty-server start -
here's my cmd: counterparty-server kickstart --max-queue-size=10
-
ah I didn't mean to! I was thinking about USB >3.1 initially
-
@teysol we disagree here so would appreciate your thoughts.
-
yes, i think SATA III equals or exceeds USB 3.x by every metric, and i’m mostly preferring it because i can keep everything inside the chassis. No mess!
-
@robotlovecoffee I believe @teysol's view is that it's fine for regular users to use bootstrap but I think that while we're working out kinks in consensus it's helpful to have people independently validate the blockchain.
-
ya I just want to test
-
this will get nuked again
-
yeah then use bootstrap
-
I meant I'm happy to test concensus if that would help
-
oh sorry misunderstood. yes pls.
-
here's my cmd: counterparty-server kickstart --max-queue-size=10
-
just doing cargo install maturin
-
then pip3
-
ah yeah that's a thing...
-
PITA
-
I'm lazily cloud hosting my fed node:
Google Cloud (c3-standard-4): 16GB / 1024GB Disk
It's $284/mo, but will get a little cheaper through sustained use discounts. -
Mr money bags! i will self host lol
-
that does sound quite expensive :/
-
idk im used to paying for servers
-
bump! anyone know?
-
but the specs are helpful, thank you!
-
-
ah okay. you can just use one copy of bitcoind and addrindexrs for everything, but during the initial catchup with the blockchain (the kickstart feature), you will block dev with prod or vice versa
-
yeah bootstrap is for non-prod only (and it's currenly disabled anyway :))
-
-
you can't sync to the current block height on develop so no need for start lol
-
Thank you! helpful!! so seems like i can get away with a prebuilt NUC 11 with i7, 32 GB ram and 1tb nvme. It has one sata III port so i will add a 2tb drive. total is about $700 usd. This is overkill but it’s not too much more than something that’s barely sufficient
-
(during the use of kickstart, counterparty needs a lock on bitcoind's LevelDB)
-
for anyone worried about power bills, this has good idle power consumption. supposed to be quiet but i’ll follow up when i hear it
-
NUCs are fairly quiet. Make sure that SATA drive is SSD if you want performance and silence. If this is your first NUC, you may have to play with the BIOS settings (UEFI, FastBoot and RST) to install Linux, unless you are going with Windows.
-
@teysol and @robotlovecoffee Did I read correctly that you two (or anyone else) are not using docker for your counterparty node? Could you share any insight on running a fednode without docker? I could spin up a dev branch version sans docker and report back if that helps at all.
-
yes I'm doing this on an AWS instance, but just working to set it up. I'm new to this so just following the steps
-
in readme
-
GitHub - CounterpartyXCP/counterparty-lib at develop
Counterparty Protocol Reference Implementation. Contribute to CounterpartyXCP/counterparty-lib development by creating an account on GitHub.
-
Thank you very much
-
-
use this for your btcconfig
-
do not follow readme
-
for that part
-
@ABlue0ne afaik fednode _is_ dockerized.
-
not sure how you can use it w/o docker
-
sorry I assumed he just meant running a CP node
-
So fednode != counterparty-lib?
-
I did
-
-
-
same I thought a fednode was just the term for the XCP stack running
-
-
yeah readme is not great. does it say that on develop?
-
Yes, but only for the Fednode repo
-
Same
-
fednode is a project that provides a way of running counterparty itself *plus* a lot of other stuff that may be useful for some production use cases, using docker.
unfortunately because the core software itself hasn't been in the best shape for a while (dependencies were all >5 years out of date, eg), people relied on fednode very heavily for even the simplest deployments, because docker was able to paper over those deeper problems
we're still working on fixing things up properly, but fednode is not the recommended way of running a basic counterparty server, much less the only way
if you want to run counterparty in docker, there's a docker compose script in the main counterparty-lib repo (develop branch; caveat emptor!) -
Thank you for the clarification. I will be spinning up a dev implementation soon.
-
-
i'd say def not
-
I’ve been syncing counterblock for like three weeks
-
-
-
i think the problems with both are known but atm counterwallet doesn't work
-
-
Thanks for this info last month. Do you have insight into counterblocks status today? Where do we start for a fix?
-
Can you tail a log? Whats going on there?
-
It’s just taking its time
-
I put a timer on and it took 9m30s to progress 10 blocks.
-
Only one month out haha
-
lol that is no longer 'just taking time', we've moved squarely into 'broken'
-
don't forget @XJA77 reported two week sync with master, but as of block 819300 I believe it is 5x slower than it was before.
-
just noticed the block height 😬@droplister does Counterblock do the block parsing or something??
-
- 29 February 2024 (64 messages)
-
-
-
getting he following errro trying to compile
-
error[E0308]: mismatched types
--> /home/ubuntu/.cargo/registry/src/index.crates.io-6f17d22bba15001f/maturin-1.4.0/src/upload.rs:398:40
|
398 | Ok(builder.tls_config(Arc::new(client_config)).build())
| -------- ^^^^^^^^^^^^^ expected rustls::client::client_conn::ClientConfig, found ClientConfig
| |
| arguments to this function are incorrect
|
= note: ClientConfig and rustls::client::client_conn::ClientConfig have similar names, but are actually distinct types
note: ClientConfig is defined in crate rustls
--> /home/ubuntu/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rustls-0.21.10/src/client/client_conn.rs:128:1
|
128 | pub struct ClientConfig {
| ^^^^^^^^^^^^^^^^^^^^^^^
note: rustls::client::client_conn::ClientConfig is defined in crate rustls
--> /home/ubuntu/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rustls-0.22.2/src/client/client_conn.rs:150:1
|
150 | pub struct ClientConfig {
| ^^^^^^^^^^^^^^^^^^^^^^^
= note: perhaps two different versions of crate rustls are being used?
note: associated function defined here
--> /build/rustc-QLyM7K/rustc-1.74.1+dfsg0ubuntu1~bpo0/library/alloc/src/sync.rs:385:12
For more information about this error, try rustc --explain E0308.
error: could not compile maturin (lib) due to previous error
warning: build failed, waiting for other jobs to finish...
error: failed to compile maturin v1.4.0, intermediate artifacts can be found at /tmp/cargo-installAwAYmO.
To reuse those artifacts with a future compilation, set the environment variable CARGO_TARGET_DIR to that path. -
running this step:
-
cargo install maturin
-
oof, there seems to be some collective memory loss among me ouziel and adam about how we solved this issue lol
-
did you try pip install maturin. also, are you using python 3.11?
-
ya I ran this before
-
sudo apt install python3-pip
-
please run python --version
-
and post the output here
-
Python 3.10.12
-
python3 --version
-
yeah, dammit ubuntu
-
we will support 3.10 before releasing but atm only support 3.11
-
lemme get you intstructions
-
I do not need to run unbuntu, just thought it was the easiest to stand up and run
-
no it's not your fault
-
everything is a WIP
-
people testing is immensely helpful
-
these instructions should work: https://ubuntuhandbook.org/index.php/2022/10/python-3-11-released-how-install-ubuntu/
-
after you run those cmds please post the output from python --version here
-
deadsnakes does not sound good 🙂
-
LOL I agree
-
I hate Ubuntu but it's the most logical Linux distro to support.
-
ubuntu@ip-172-31-52-115:~$ python3.11 --version
Python 3.11.8
ubuntu@ip-172-31-52-115:~$ -
awesome
-
okay now try the install instructions again
-
ok so go back and try compile?
-
yup yup
-
ok will check back once it is done or pukes
-
tyvm! this is super helpful.
-
just so you know guys! https://www.kucoin.com/announcement/en-stamp-stamp-gets-listed-on-kucoin
-
Congrats, guys!
-
still getting this error
-
error[E0308]: mismatched types
--> /home/ubuntu/.cargo/registry/src/index.crates.io-6f17d22bba15001f/maturin-1.4.0/src/upload.rs:398:40
|
398 | Ok(builder.tls_config(Arc::new(client_config)).build())
| -------- ^^^^^^^^^^^^^ expected rustls::client::client_conn::ClientConfig, found ClientConfig
| |
| arguments to this function are incorrect
|
= note: ClientConfig and rustls::client::client_conn::ClientConfig have similar names, but are actually distinct types
note: ClientConfig is defined in crate rustls
--> /home/ubuntu/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rustls-0.21.10/src/client/client_conn.rs:128:1
|
128 | pub struct ClientConfig {
| ^^^^^^^^^^^^^^^^^^^^^^^
note: rustls::client::client_conn::ClientConfig is defined in crate rustls
--> /home/ubuntu/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rustls-0.22.2/src/client/client_conn.rs:150:1
|
150 | pub struct ClientConfig {
| ^^^^^^^^^^^^^^^^^^^^^^^
= note: perhaps two different versions of crate rustls are being used?
note: associated function defined here
--> /build/rustc-QLyM7K/rustc-1.74.1+dfsg0ubuntu1~bpo0/library/alloc/src/sync.rs:385:12
For more information about this error, try rustc --explain E0308.
error: could not compile maturin (lib) due to previous error
warning: build failed, waiting for other jobs to finish...
error: failed to compile maturin v1.4.0, intermediate artifacts can be found at /tmp/cargo-installtmufNw.
To reuse those artifacts with a future compilation, set the environment variable CARGO_TARGET_DIR to that path. -
These specs are for running mainnet and testnet at the same time?
Currently, for an mainnet-only instance 1TB and 8GB of ram works “fine” (not very stable, I have to reboot instances frequently. But I assume the code improvements will help in this.).
And then I am also interested in learning what will RocksDB be used for… -
-
-
-
Hard to tell because the fednode tail command don’t show any clear issue. Only with Bitcoin core which I have to delete the peers file sometimes.
But also I haven’t gotten deeper into it because rebooting works, so that is what I have been relying on. -
-
-
Ok so instead of addrsindexrs with its own DB, we will end up with counterparty-lib with 2 DBs, SQLite and RocksDB?
And then the RocksDB data will be supplemental, just to help in data that will end up in SQLite? Asking to understand if an explorer can continue only relying on the SQLite… -
Do you know if the current v9.61 already stores these automatically? If not, how can I get to these verbose logs you mention?
-
this description is correct. RocksDB won't store any Counterparty state. (but that cannot be relying upon not to change—it's an implementation detail)
-
I actually think there's an open issue for missing log files
-
-
Cool. I think that having all consensus hashes affecting data in a single DB is something we should try to continue a much as possible
-
Yep I thought I saw this
-
Thanks will consider this
-
Important Is anyone running a Counterparty node *not* also running addrindexrs with the option TX_LIMIT=1500?
-
I’ll update to that, I don’t remember setting any config values like that
-
does fednode not automatically set it @teysol ?
-
-
-
(typo in my question—should be `15000`)
-
@XJA77 @reinamora_137 @ChiefSamyaza @uanbtc are the others who were running nodes as of 9.61 afaik
-
were you guys validating or using bootstrap?
-
-
this isn't about bootstrap, it's about the consensus critical environment variable in addrindexrs
-
can you confirm all of your nodes are running with TX_LIMIT=15000
-
Bootstrap is going to be fixed. We just don't have a known-good db on master ATM