- 01 March 2024 (2 messages)
-
@droplister I have seen you in the XCP universe a few times lately (the youtube series about previous fork war etc) and I just found this Medium post by you and I really wish that I found this post when you made it. Great read. Thanks https://medium.com/@droplister/counterparty-development-101-2f4d9b0c8df3Counterparty Development 101
Counterparty is NOT a blockchain.
-
I do a little blogging
- 02 March 2024 (11 messages)
-
mods pls delete and ban
-
You are also a mod. Please feel free to remove spammers in the future
-
sorry lol i had no idea i was a mod...
-
-
the NUC 11 i7 + 32gb ram is tiny (11.5 cm X 11.5 cm x 5 cm) and quiet! adding in the extra drive was just sliding it through the mount, where it lines up with the cable perfectly... like as easy as an SD card. reading 35db on idle, so very very quiet. definitely recommended for anyone who wants to run a node
-
-
*FYI* Dev update will be come with the alpha version of Counterparty Core v10.0.0, which we're hoping to release next week 🤞
-
If you feel motivated maybe put the specs in a blog post
-
i really just went on Amazon and bought the prebuilt NUC 11 with the 1TB nvme, i7, 32gb ram, and bought a 2TB samsung 2.5inch SSD. the computer was $550 USD and the SSD was $150 USD. not too much to say about it!
-
Can be a short post 😝
-
@vectorconfetti this could be the beginning of your career as a thought leader. when opportunity knocks on the door, answer it!
- 03 March 2024 (10 messages)
-
I don't really get the appeal of Pi's these days. They're not much cheaper that a fully decked-out NUC
-
The dev the community funded has got a PR up for adding Python 3.10 support: https://github.com/CounterpartyXCP/counterparty-lib/pull/1465
Things like this are the kind of usability improvements that will help make Counterparty ready for primetime once again.Support Python 3.10 by warrenpuffett · Pull Request #1465 · CounterpartyXCP/counterparty-libIt seems like the only thing preventing us from using 3.10 was a change to the int.to_bytes() method. In 3.11 it includes defaults (length=1, byteorder='big') see here. 3.10 does not have t...
-
I believe he'll soon be working on a runbook for CI to match the counterparty-lib (soon to be counterparty-core(?)) README.
-
my career has been guiding me to this point and i now stand on the precipice
-
Eminem - Lose Yourself [HD]
feat. Eminem from the movie 8 MILE No copyright infringement intended. All contents belong to its rightful owners. This is for entertainment purposes only.
-
@teysol is there a way to refactor dispensers so that we can mitigate its conflicts with running multiple `list_tx`s in parallel?
-
From Ouziel: 22h21mn to catch up block 832661 in a 8 years i7 with 8go RAM.. I say not bad :-))
🤯 -
This is down from > 2 weeks for the same machine specs. So at least a 15x speedup on mainnet!
-
Ah, most importantly: all consensus hash mismatches have been reconciled. No loss of funds AFAWCT.
-
nope :/
- 04 March 2024 (108 messages)
-
I'm going to nuke my AWS instance and wait till there is a stable path forward to test this... I cannot get past this error
-
@robotlovecoffee so Counterparty now supports Python 3.10 so hopefully this simplifies everything. But am sorry you got blocked at that step pip install maturin should'a fixed it...
-
maybe run pip --version? Am wondering if it's still a python versioning issue somehow
-
pip 22.0.2 from /usr/lib/python3/dist-packages/pip (python 3.10)
-
this is the cmd that I cannot get past
-
cargo install maturin
-
happy to test later just do not want to pay for something that does not work, once we know the steps I will stand it up again and install
-
it is all good, I do not *need* this at the momet but would love to help test and have one running at some point for my projects
-
this is your issue
-
run python --version
-
this kind of testing is hugely important! we're not at one-click install yet (among other things need to kill addrindexrs first) but install should be as simple as possible and where it's not it must be treated as a bug.
-
(This is why I said that Python3.10 support is a small but critical step towards bringing Counterparty up to snuff: it is an important way to reduce the barrier to entry.)
-
ubuntu@ip-172-31-52-115:~$ python3 --version
Python 3.10.12
ubuntu@ip-172-31-52-115:~$ -
try python --version?
-
ubuntu@ip-172-31-52-115:~$ python3.11 --version
Python 3.11.8
ubuntu@ip-172-31-52-115:~$ -
let's see the output of this. Python and Ubuntu both suck a versioning and are hideous together
-
ubuntu@ip-172-31-52-115:~$ python --version
Command 'python' not found, did you mean:
command 'python3' from deb python3
command 'python' from deb python-is-python3
ubuntu@ip-172-31-52-115:~$ -
yeahhh okay
-
alright so good news: if you pull the latest develop you'll have python 3.10 support out of the box
-
you can revert all that ugly crap you had to do to install 3.11 and set it as default
-
-
yeah there's a little stupid workflow you do in order to set 3.11 as python3 version and python3 as python
-
but this should all be moot if you just use the native version of python installed on Ubuntu, i.e. 3.10
-
sorry dumb question time (dumber) how do I revert?
-
No dumb questions
-
git update?
-
one sec, two different questions
-
I was doing this step
-
Note: Python 3.11 is currently required.
sudo apt install python3-pip
git clone https://github.com/CounterpartyXCP/counterparty-lib.git
brew install leveldb # macOS-only
CFLAGS="-I/opt/homebrew/include -L/opt/homebrew/lib" # macOS-only
cargo install maturin
pip3 install -e . -
1. how to update Counterparty to get the version that supports python 3.10?
2. how to uninstall python 3.11 on Ubuntu. -
We'll do (2) first
-
Let me get you directions for that
-
ok, have to jump on a call but will ping back
-
i'll try the steps myself and report back.
-
ok
-
afk for a bit.
-
it is weird I cannot use a thumbs up in this chat
-
What OS is telegram running on?
-
OSX
-
ah hm can't make sense of that, then.
-
afk
-
Your system has both versions installed and is having trouble deciding which version to use when. Lookup aliases for python.
-
so I basically need to get python to point to the 3.11 version, if CP will support 3.10 I might just revert. I would like to have a version that is easy to rebuild so I can make a video and doc on the steps to get a node up and running
-
-
This is what I was following:
-
-
I think did this to get 3.11
-
these instructions should work: https://ubuntuhandbook.org/index.php/2022/10/python-3-11-released-how-install-ubuntu/
-
sorry @robotlovecoffee hectic day.
-
The instructions I gave you were to get Python 3.11 working as your default Python version on Ubuntu. That was necessary because when you were installing Counterparty only supported Python 3.11. Counterparty now supports Python 3.10, i.e. the official Python version on Ubuntu, so these instructions are no longer needed
-
What you want to do, then, is uninstall Python 3.11.
-
unfortunately atm i cannot go through this workflow as I currently do not have access to my Ubuntu machine, so I cannot provide directions. but it should be straightforward.
-
in fact, since your pip3 --version and python3 --version both showed 3.10.x you actually should be good to go if you do the following:
cd counterparty-lib
git checkout develop
git pull
cd counterparty-lib
pip3 install -e .
cd ../counterparty-cli
pip3 install -e . -
no worries, nothing to be sorry about, will look to try this
-
I still get errors trying to cargo install Maturin
-
did you try pip install maturin
-
no
-
cargo install maturin
-
from the github
-
efaulting to user installation because normal site-packages is not writeable
Collecting maturin
Downloading maturin-1.4.0-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl (10.6 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 10.6/10.6 MB 71.5 MB/s eta 0:00:00
Collecting tomli>=1.1.0
Downloading tomli-2.0.1-py3-none-any.whl (12 kB)
Installing collected packages: tomli, maturin
Successfully installed maturin-1.4.0 tomli-2.0.1 -
that seemed to work
-
yep, there are documentation bugs
-
ok
-
this is why we love testers 🙂
-
ok just doing the pip3 install again and I think I missed the "." and once done will do the bootstrap / start
-
ah hm, i think it'd be helpful if you did kickstart rather than bootstrap but my opinion isn't super strong
-
ubuntu@ip-172-31-52-115://home/ubuntu$ counterparty-server bootstrap
counterparty-server: command not found
ubuntu@ip-172-31-52-115://home/ubuntu$ -
happy to try kickstart
-
just cannot find when it is installed
-
looked in -lib/-lib and -cli
-
errr
-
ubuntu@ip-172-31-52-115://home/ubuntu$ ls
addrindexrs bitcoin-26.0 counterparty-cli counterparty-lib screenlog.0
ubuntu@ip-172-31-52-115://home/ubuntu$ -
it's installed in a different place from globally installed pkgs
-
back in 5
-
I think in ~/.local/ but not super sure as my linux device is not handy. can someone else running counterparty pls provide the path
-
ubuntu@ip-172-31-52-115:/$ cd ~/.local/
ubuntu@ip-172-31-52-115:~/.local$ ls
bin lib share
ubuntu@ip-172-31-52-115:~/.local$ cd bin
ubuntu@ip-172-31-52-115:~/.local/bin$ ls
b58 block coinc counterparty-client counterparty-server coverage coverage-3.10 coverage3 flask keychain ku maturin msg normalizer py.test pytest tx
ubuntu@ip-172-31-52-115:~/.local/bin$ -
yup
-
counterparty-server kickstart?
-
ubuntu@ip-172-31-52-115:~/.local/bin$ counterparty-server kickstart
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 573, in _build_master
ws.require(__requires__)
Requirement.parse('setuptools-markdown==0.2'), {'counterparty-cli'})
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/ubuntu/.local/bin/counterparty-server", line 33, in <module>
sys.exit(load_entry_point('counterparty-cli', 'console_scripts', 'counterparty-server')()) -
shortened the error
-
you did the last two steps here cd counterparty-lib
git checkout develop
git pull
cd counterparty-lib
pip3 install -e .
cd ../counterparty-cli
pip3 install -e .
? -
yes
-
i am not suggesting you didn't but tbc you ran pip install from counterparty-lib/counterparty-cli?
-
(the naming is confusing, I know. just renamed counterparty-lib to counterparty-core a few mins ago
-
Warnings:
- Ensure addrindexrs is running and up to date.
- Ensure that bitcoind is stopped.
- The initialization may take a while.
Proceed with the initialization? (y/N)🙃️️ -
should I stop my btc node?
-
yep
-
to run with kickstart you must first stop bitcoind
-
ok running kickstart, thanks for the help
-
hitting the gym
-
np thanks for your patience!
-
will check post workout
-
I have been dumping stuff in this chat as I will use to doc what I have done, sorry to all others in here
-
it should only get simpler from here on out...
-
Jeremy, I literally have no idea why you see conspiracies everywhere
-
There has been an open issues for over a month to rename counterparty-lib to counterparty-core
-
GitHub - CounterpartyXCP/counterparty-core: Counterparty Protocol Reference Implementation
Counterparty Protocol Reference Implementation. Contribute to CounterpartyXCP/counterparty-core development by creating an account on GitHub.
-
Release v9.61.2 · CounterpartyXCP/counterparty-core
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...
-
you're moving the goalposts. You asked how someone can spin up a node, Joe provided a link to the release artefacts and now you are asking that fednode be updated to support it, right?
-
@ChiefSamyaza hey sorry for the confusion! we just merged counterparty-cli into counterparty-lib and _renamed_ the latter to counterparty-core. that's it! I'm not sure why you're so worried about being forced to upgrade to v10.0.0... it's not a protocol change.
there will eventually be mandatory upgrades ofc. when there are protocol changes (which you may or may not like), but this isn't that.
(I'm not updating fednode—if someone else wants to maintain that repo, more power to them. I created a separate Docker Compose deployment for Counterparty Core that's smaller and simpler, since fednode—while it's been the go-to soln for a long time—does a lot of things that most people don't need) -
I do like that there is momentum to remove all the unnecessary components. And I’m all for simplification.
But I understand what Jeremy is saying. We HAVE been relying on the fednode as the ONLY way to install counterparty.
With the current change in the repo, the “official” fednode is now broken. -
should probly throw a note in the readme for counterparty-lib with a link to counterparty-core as well
-
-
there is, its just a placeholder tho
-
Yeah is going to be broken
-
I trust the development (I should still verify), but breaking the way we are used to installing without much notice is not good.
But so few people install nodes…
At least the github.com/CNTRPRTY/federatednode is still there. Now more relevant! 🤓GitHub - CNTRPRTY/federatednode: Federated Node Build System - Core Version - Don't trust, verifyFederated Node Build System - Core Version - Don't trust, verify - CNTRPRTY/federatednode
-
Bros...
-
- 05 March 2024 (88 messages)
-
I’m on debian for these reasons. PITA but more direct.
-
-
-
good news! finally getting CI jobs testing the builds for popular environments, plus automated code linting and scanning ✨all in prep for v10.0.0-alpha
https://github.com/CounterpartyXCP/counterparty-core/pull/1470[WIP] GitHub Workflow by ouziel-slama · Pull Request #1470 · CounterpartyXCP/counterparty-corebuild and run counterparty-lib tests on Macos (x86_64 and M1) and Ubuntu Bandit CodeQL Pylint License Scanner
-
Correct me if I'm wrong. I interpret the statement as a request for pre-support of a future contentious fork
-
that plus all the requests to release the fixes for the critical issues by itself in a separate release so that the fork maintainers don’t have to figure out what code does what
-
Joined.
-
I am not Evan, in case that’s what you’re referring to.
-
I interpreted as I responded.
As one of the few running production nodes, I know first hand that the fednode WAS the only way to install CP.
That is changing, being able to do it directly or with a much simpler docker setup. These are good changes.
BUT we should be a decentralized protocol. So changes like these should have more notice.
As of now, there is no clear way to install the CURRENT active version of the protocol from the “official” repo. -
I don't understand, if the goal is to decentralize counterparty, isn't what you're describing a good thing?
-
also, what afaict is being seen as some coordinated decision to drop support for fednode is really just adam saying he's not going to maintain it himself. Counterparty is FOSS with a few other maintainers, too. If someone wants fednode to be a supported deployment method indefinitely, can't they make a PR? I really think I must be missing something.
-
-
sure, that makes sense. it seems reasonable for one maintainer to say he doesn't want to be responsible for maintaining fednode...
-
-
I think that make sense, too. It seems to me a good thing if the scope of 'official' software is reduced.
-
Oh yeah! I would reduce it even more lol
I’m in the mindset that the api endpoints should be application specific. The scope of the protocol to be reduced to consensus and block parsing mostly, with just a basic example api.
But that is just my personal opinion based on the products I use the protocol for -
Am i understanding that the change that broke fednode is solely the repo name change?
-
to my knowledge that is it, yes.
-
Then why change the repo name prior to the 10.0 release?
-
...
-
it’s what the directory name change signifies, that’s why it’s important to take a stand
-
I don't understand the question. merging counterparty-lib and counterparty-cli to make counterparty-core was done as _part_ of v10.0
-
The alpha for v10.0 is coming out in a few days.
-
There is room for disagreement I suppose but IMO merging repos is way too big of a change to make after the alpha is released. Everyone has their own philosophy of release management but I think this is a pretty reasonable line to draw.
-
What does it signify?
-
Considering the implications, was there a consideration to leave the old repo and deprecate it?
-
I was not part of any decision making process here
-
However, as someone who pays attention to Counterparty's development I knew that this was on the roadmap for at least a month.
-
yep, I'm handling that. thanks for the reminder 🙏
-
I imagine there wasn't a plan to make sure that ancillary tooling would be maintained indefinitely in order to support a hotfix release which will be superseded in a week.
-
Just one non-maintainer's supposition, however.
-
-
-
this is a good question for the people who are extremely opposed to this directory name change
-
there isn't a real argument here. @teysol you've said you don't want to maintain fednode. if someone else wants to that's great! the end...
-
it doesn't "signify" anything. it's not some deep symbol of hidden machinations. when I originally created the repos, I split them up because I wanted to enforce unnecessary modularity at the repo level. that was a mistake 🤷♀️ merging them makes it much easier to maintain the codebase and to make deployment easier
-
Yeah I didn’t think so either that’s why I asked
-
sorry, this was a joke
-
Name change is nice, i think -core is better than -lib, just might make sense to add a link to -core from -lib so old links will lead you to the right place
-
-
i have been able to get counterparty running off of develop, and any issues i have run into the maintainers have been responsive. they are not supporting fednode but they are replacing it. if someones preference to is run fednode i think its reasonable for that person to maintain it
-
-
-
Including no counterblock and no counterwallet?
-
imo it's weird to have an 'official' node setup with counterblock and counterwallet.
-
something like simplenode is imo what you want: it's absolutely tiny (and therefore trivial to maintain) and does one thing: gets a counterparty node up.
-
-
also counterwallet and counterblock are broken aren't they lol
-
-
counterparty _does_ come with a wallet
-
it's a CLI.
-
there's an argument that that's not sufficient, but it's there.
-
-
@ABlue0ne you are free to develop a wallet or pay for someone to develop one
-
For a time it was, 0 developers were running it directly. Mainly because of how outdated it was…
So just clarifying the realities we were in -
This is nice!
-
Respectfully, the counterparty.io website only mentions counterwallet as a wallet for counterparty.
-
I haven't touched the website copy but yes, it is a bad thing that counterwallet and counterblock are mentioned when they don't work.
-
They are not part of the protocol. I would leave the “official” repo as slim as possible
-
-
i don't know what to say to that.
-
-
I do when the implication is clearly that _X is bad and should be avoided_
-
1. there is an official wallet. you may not think it's enough, but it's there.
2. counterwallet is a web wallet. having a web wallet packaged with the node software is _super strange_
3. no one is volunteering to build a native GUI app. -
If there’s a CLI for a wallet, then a UI skin leveraging the CLI will be easy to add, and can automatically stay up to date with the core so long as the API is preserved. This is nice IMO - the skill sets for a correct and performant wallet and an easy-to-use and pretty wallet are not the same.
-
-
-
what goalposts are moving?
-
are you saying you know someone who is waiting on the sidelines to build and maintain a native GUI for free pending some external event?
-
-
!! active development on a code base is not a goalpost! the goalposts are the random “requirements” that are being introduced by the community
-
i think we all want the same thing. a correct and performant core, a robust distributed network with many participants, and a lively user base. It seems like the current round of changes is primarily trying to get the correctness and performance correct.
-
we could of course yolo it and say correctness and performance are for nerds moar jpegs please but i think that would be ill-advised.
-
But thats the way we always did it.
-
We shed a tear for the Old Ways
-
Good point 🤣
-
-
as the motivational poster above my desk says: teamwork makes the dream work.
-
I have tried engaging about the technical reasons behind counterblock and counterwallets problems here a few times, to have the same conversation without making progress. I’ll wait or engage on github later if there seems to be any light at the end of the counterwallet tunnel. If you know the technical reasons other than (counterblock broke) please enlighten me. Thanks.
-
-
Hola
-
-
-
-
How are data entities that do update (like orders and dispensers) going to be represented in the messages table?
I thought that even though table rows would not be updated, the data model (as in its non-time-series representation) itself would still be updatable… -
-
-
You can file a PR for this.
- 06 March 2024 (82 messages)
-
-
-
We haven't finalized the format yet. I don't know what you mean by "time-series representation"; there's no "time-series" data in the database and there never was.
-
Kickstart and Bootstrap causing errors while trying to run 1st time
-
ubuntu@ip-172-31-52-115:~$ counterparty-server kickstart
[2024-03-06 10:58:06][INFO] Running v1.1.5 of counterparty-server.
[2024-03-06 10:58:06][INFO] Running v9.61.1 of counterparty-lib.
Warnings:
- Ensure addrindexrs is running and up to date.
- Ensure that bitcoind is stopped.
- The initialization may take a while.
Proceed with the initialization? (y/N): y
[OK] Connecting to addrindexrs...
[OK] Getting last known block hash...
[OK] Checking database state...
[OK] Backing up database...
[OK] Initialising database...
[OK] Starting blocks parser from block 284185...
[OK] Cleaning up...
Last parsed block: 289999
Kickstart done in: 97.351s
[2024-03-06 10:59:50][ERROR] Unhandled Exception
Traceback (most recent call last):
File "/home/ubuntu/.local/bin/counterparty-server", line 8, in <module>
sys.exit(server_main())
File "/home/ubuntu/counterparty-lib/counterparty-cli/counterpartycli/__init__.py", line 18, in server_main
server.main()
File "/home/ubuntu/counterparty-lib/counterparty-cli/counterpartycli/server.py", line 172, in main
server.kickstart(
File "/home/ubuntu/counterparty-lib/counterparty-lib/counterpartylib/server.py", line 507, in kickstart
kickstarter.run( -
and the end this...
-
counterpartylib.lib.check.ConsensusError: Incorrect txlist_hash hash for block 290000. Calculated d86938404e91f0c70c52b66beedc996a1601cabd10c18f3f052ad6110216af3a but expected c15423c849fd360d38cbd6c6c3ea37a07fece723da92353f3056facc2676d9e7
ubuntu@ip-172-31-52-115:~$ /usr/lib/python3.10/multiprocessing/resource_tracker.py:224: UserWarning: resource_tracker: There appear to be 80 leaked shared_memory objects to clean up at shutdown
warnings.warn('resource_tracker: There appear to be %d '
counterparty-server kickstacd .. -
ok great, ty for the bug report! will get back to you
-
@robotlovecoffee can you upload your db somewhere?
-
haven't seen this before and you hit this super early.
-
(Hoped you knew what I meant, as blocks represent time. Anyway here rephrasing that part.)
“How are data entities that do update (like orders and dispensers) going to be represented in the messages table?
I thought that even though table rows would not be updated, the data model (as in its “static” initial representation) itself would still be updatable…”
Orders and dispensers are defined by an initial transaction. Whatever related event happens in the following blocks (order matches, dispenses) update the state of these initial transactions. And messages show an update for these.
Having a new append only DB approach (no row updates), how are entity “state updates” handled?
In the messages table new orders are shown as inserts, while new states for the previously inserted show as updates.
And it all makes sense and didn’t think this would change…
(Hope what I meant is clearer now.) -
yeah not all state that changes through time is time-series data...
the current state of the order or whatever is just inserted into the DB. nothing complicated. there's literally a function called update_order() e.g. https://github.com/CounterpartyXCP/counterparty-core/blob/develop/counterparty-lib/counterpartylib/lib/ledger.py#L1302counterparty-core/counterparty-lib/counterpartylib/lib/ledger.py at develop · CounterpartyXCP/counterparty-coreCounterparty Protocol Reference Implementation. Contribute to CounterpartyXCP/counterparty-core development by creating an account on GitHub.
-
So the messages table will only show inserts?
The messages table was cohesive in its inserts + updates design. As an application you could rely only on messages to know state.
It feels like the elegant simplicity of the protocol is being broken, as now applications that previously trusted the messages, will now have to make calculations to detect updates?
What is the purpose of the messages table now? -
I think there should be a separation between the database schema (which is now append only), and the “normalized” representation of the data entities. And the messages table should be this representation. Just like it was before changing to the append-only DB
-
if you can tell me where the db is I should be able to post it to a s3 bucket
-
it should be in ~/.local/share/counterparty
-
it's the other way around. the messages table was partially compensating for the fact that the DB schema was suboptimal. now you can just use the orders table eg directly
-
-
I’ve used it twice to build explorer sites.
You can just ingest the feed and build out your tables with it. Or you can index just the messages and use the category column for filtering on it.
If the APIs get a lot better that’s less important. It’s a nice log of events imo.
Without a log like this are a lot of implicit updates happening, how could you audit those updates?
I don’t care either way, I’ll just do the new thing. -
-
-
For both xcpdev and bitSTART I use the messages table
-
-
You can go block by block detecting any data of interest.
Without it, you would have to know all tables and query each one separately per block. -
-
-
What's nice about the messages table is that if you've coded something to index Counterparty, you have a little less work to do with supporting new features because so far to date its just a new message category.
At least that's why I just used that approach with XCP.io (which is barely developed) so that it would be more flexible to changes being made. -
-
You can make it work however you want, people will adapt. But the message table has like that bindings json column which acts like a meta field which makes it flexi whereas the tables are all column-y.
-
I wouldn’t mess with the messages table and how it worked. I would be very disappointed if this changes.
The messages table may be the main table I’ve been using for my products. Changing its nature will require substantial rebuild.
And I just personally like that table. It made perfect sense as it existed, is simple to understand making the protocol approachable. -
Do the professional developer things you want to do
-
i def understand removing it since its a duplication of data
-
-
no reason you couldnt just have teh get_messages call in the api converted to something that assembles the same data from the other tables
-
-
I wouldn’t want to be that server
-
yes but I think that'd be really ugly
-
Then that’s the only alternative if removed, or not?
-
I like when counterparty registers a 0 on a dividend because someone had balance of the token before but doesn’t now. For financial data the explicitness is nice I think.
-
👆
-
-
-
you could make it optional
-
-
-
-
historical data?
-
-
what happened in X block
-
-
thats standard block explorer functionality
-
-
ZeroMQ, unless Counterparty is using it, you have to re-implement Counterparty to use it as a means of listening. I could see web wallets choosing to do that.
Reading tables, the clunky fednode docker setup has been an impediment to me to do that right now. I know xcp.dev has figured that out though and it makes sense as an approach. I don't use docker in any of my day-to-day, using stuff like Vercel, so skill issue.
APIs, it sounds like the best route where the main issue is a small gap in releases. I think what could make APIs a lot better is normalizing quantities and names or always returning the longname or whether an asset is divisible along with quantity data. -
-
-
One of the foot guns that Bitcoin Runes has that I don't think they've thought enough about is that they're going to let people define to how many places their assets are divisible and it's a range of like 0 to 18 or something like that. It's going to be so annoying normalizing.
-
annoying enough just having divisibility
-
The specific message written in the transaction could be separated in some way.
In xcp.dev, I label it as the “main message” to stand out from the rest of the messages generated by a transaction.
Is there a term for the distinction between these messages? -
Poor Ouziel dealing with linting 😭 https://github.com/CounterpartyXCP/counterparty-core/pull/1472/files[WIP] Fix Pylint and Bandit alerts by ouziel-slama · Pull Request #1472 · CounterpartyXCP/counterparty-core
Counterparty Protocol Reference Implementation. Contribute to CounterpartyXCP/counterparty-core development by creating an account on GitHub.
-
for anyone trying to install develop just fyi readme need to be updated. in order you should:
git clone https://github.com/CounterpartyXCP/counterparty-core
git checkout develop
cd counterparty-core/counterparty-rs
pip3 install -e .
cd ../counterparty-lib
pip3 install -e .
cd ../counterparty-cli
pip3 install -e . -
as always please report any problems, but this was way simpler for me than previous installs
-
Nice counterparty-server UI improvements.
-
@robotlovecoffee just making sure you saw this. Just started a fresh kickstart and I didn't hit a consensus hash mismatch @ 290k so would be super helpful if we could see your db
-
yes saw it, will be working on getting db tonight or tomorrow.
-
tysm!
-
I was just trying to copy to local (osx) and getting
-
ubuntu@172.31.52.115: Permission denied (publickey).
-
trying to scp
-
I used a .pem file to ssh but do not think this is the issue
-
I was going to do the s3 bucket path but did that more for the ORD index as it was many gigs and wanted to be able to share this db is only 281m
-
nvmd just using filezilla
-
do you have a place I can post this for you to review?
-
hm, can you upload to an s3 bucket?
-
it's a moderately large file (8gb) not sure the best way to share something of that size. but even google drive should be fine?
-
here is a s3 bucket link that will die in 5 hrs
-
ach sorry would it be possibly to get a link that expires in 12hrs? ouziel will probably be the one digging into this and he's signed off until tomorrow AM CET
-
this is 12 hours, I will be driving back to camp tomorrow but can post again in the am if this does not work
-
-
ah right its tiny because you only got to block 290k
-
cheers!
-
there was a .old file in the same directory but I assumed that is not needed
-
yeah pretty sure that's unnecessary. really appreciate it.
- 07 March 2024 (136 messages)
-
The removal of the messages table means the removal of the messages hash.
It is more than a protocol change, it is changing the very nature of what is consensus.
My understanding of the social agreement of the “dev team” and the rest of the developers is that the next release is about optimizing and consensus fixes.
Let's keep it like this. Already 3 developers with explorers have expressed our reliance on the messages table. It is very much used.
I still believe we should keep it. But I can also see how it can be removed (like adding issuance's issuer to the ledger).
I believe, we should not confuse the trust we have given to the founders to renew the protocol with a “free pass” to do *anything*. -
I don't have a horse in this race but I don't think this is correct:
>It is more than a protocol change, it is changing the very nature of what is consensus.
AFAIK messages table isn't consensus-critical atm. I may be wrong. -
yeah, looks like it's not a consensus thing: https://github.com/CounterpartyXCP/counterparty-core/blob/3e720d04b6749ad9df9a1829dd4d7e31e276e014/counterpartylib/lib/check.py#L125counterparty-core/counterpartylib/lib/check.py at 3e720d04b6749ad9df9a1829dd4d7e31e276e014 · CounterpartyXCP/counterparty-core
Counterparty Protocol Reference Implementation. Contribute to CounterpartyXCP/counterparty-core development by creating an account on GitHub.
-
to be clear, this incompatibility being discussed is a result of violating standard software design principles - instead of using the API, which generally promise backwards compatibility or a simple upgrade path, software was written that relies on implementation details that are not public facing. now, as a. consequence of relying on implementation details which are evolving as the software matures, your software must change.
-
again this isn't my fight but it seems like folks have been able to rely on the stability of certain implementation details below the API for a really long time, and I can see why it'd be jarring to have that changed all of a sudden.
-
there are very few infrastructure providers; few enough to where a sentiment check can be done quickly regarding how changes will affect them. it seems like they'll feel this one. i don't know what the calculus for determining whether to make a change is but certainly that should factor into it.
-
I think that’s right.
You can think about the code and protocol in insolation, but I think it helps to consider the “federated network” and the ripples that changes have across that network.
You can weaken the federation if the wave is bigger than can be handled.
The more used frontends are basically re-implementing Counterparty to work how they do today.
So, on paper a big change within the counterparty node could have the same outputs and be “no different” but only if you ignore how existing services in the network interface.
This message table is an interface, effectively. Clearly not by design.
Because of how things are today, I would heavily weigh how xchain and freewallet interface and work with counterparty. These services have the most economic weight.
It sounds like removing this messages table is a preference but not a necessary change for your updates at this point. Treat it like a logger.
I would think you could get rid of it in tandem with improving the APIs so that people don’t need to re-implement counterparty and have an alternative to the messages table as an interface. -
Unless you’re gonna deliver an explorer (ord bakes one in) and a working wallet in tandem with these changes.
-
Sir get_messages is part of the api
-
yeah, reality is messy and all that. I think this the meat of it:
>This message table is an interface, effectively. Clearly not by design.
I see both sides of this and I think a reasonable middleground is to slowplay it and also improve the API so that it better suits infrastructure providers' needs. But there's been this open issue for 7 weeks: https://github.com/CounterpartyXCP/counterparty-core/issues/1327API Redesign · Issue #1327 · CounterpartyXCP/counterparty-coreSo it turns out that I designed the API very badly 10 years ago. It's insanely leaky and is missing critical functionality. Ideas: Deprecate everything that exposes the DB schema. Use X-API-War...
-
That would break a lot if you removed all the get_[table] commands
-
sorry I may have missed it as I only weighed in because I saw Juan mention that this would affect consensus, did Adam say he wants to remove all the get_[table] calls?
-
That’s what that issue says
-
ah right, okay.
-
I mean it's an issue right, not a plan?
-
Basically since the API is not perfect, the get_[table] commands are necessary to route around it
-
So let me know when the rest of the API is perfect and I’ll use that lol
-
I really am not advocating for anything in particular.
-
I speak for myself and am just trying to add clarity where I can.
-
Same, my suggestion would be to perfect the rest of the API in one update with a plan to deprecate in the following update
-
Gives everyone a full cycle to make changes
-
right, got it.
-
I will say that having the ability to query tables directly allows people to be more creative and flexible as different uses cases come up that weren’t necessarily thought of or planned for prior
-
i think that that's fine but if there is an expectation of stability and LTS then it gets more complicated
-
having direct database access (even through an API skin - i see that exists, yeesh 😬) is going to create more issues like this, more brittle software
-
definitely want the schema to opaque to users
-
Perfect example is I can filter though get issuances with description wild cards to find asset data almost an order of magnitude faster than get_asset_info
-
yes, definitely seems like people have had to work around poor API performance, but that’s a fixable performance issue
-
Sure but descriptions weren’t necessarily as important for assets when the api was written
-
So rather than wait for the next api update when new queries are needed it’s flexible enough to allow creating more custom calls
-
Removing the flexibility makes users much more dependent on an active dev team addressing every need promptly
-
yes, i understand the maintenance and responsiveness was not very good for most of the projects lifetime and this is part of that fallout
-
But having a flexible api made that less of an issue is my point
-
And maybe the solution is to just build a better api with some flexibility built in that’s more “controlled”
-
this flexibility for the application results in inflexibility for the core. that was a good trade off when the core was not really being maintained, but i think it’s no longer a good trade off
-
Well it’s hard to comment on the non existent new api
-
Maybe it solves all these problems, I guess we shall see
-
right, a transition period is required, and i think Periwig expressed desiring to leave space for that
-
I think before even discussing a transition period we need to see what’s proposed as the replacement
-
yeah, an API design proposal with feedback from users would be good
-
I am not sure but I think Adam was expecting people to put their requests in for a new-and-improved API to the issue I referenced above. it sounds like there may be a preference instead just for a proposal to be put forward and for users to add their comments to that.
-
Yeah I'm hearing a lot of "don't change anything, because <implementation detail> is a core feature of the platform". People are even conflating API and db schema changes with protocol/consensus changes 🙄 it's hard to have this discussion when that's the case.
The questions are, what's the best design for the usage pattern? and what's the right upgrade path? I'm not hearing a lot of suggestions there, which is unfortunate.
Obviously I don't want to create unnecessary work for others. And I'm going to do whatever I can to maintain maximum backwards compatibility in the API. (Even though the API is really really bad—my fault 🙏) But the notion that nothing is going to change because "that's the way it's always been done" is simply without merit. -
It sounds to me like in this particular case, the best thing is to maintain compatibility for 'messages' as much as possible for this release, so that people can upgrade quickly and avoid the non-determinism of previous versions.
then we can prioritize the development of the new API for the next version and delay any actual changes to the protocol to give everyone the maximum time to migrate -
sounds right. i am not advocating for the API never to change just saying I can see why there'd be resistance to changing it for v10 when we're so close to cutting an alpha
-
-
@robotlovecoffee can you rename the problematic counterparty.db file or move it or use the --database-file arg and rerun kickstart? want to see whether problem is persistent
-
Is this the script that did not play well with the mass volume of numerics on xchain? If so, this change would benefit you.
-
I use get_messages in memepool when viewing txs by block, this is standard block explorer behavior and I’m not opposed to replacing it with TBD new api call / combination of calls in the future but there’s certainly a use case for it
-
Wrt get_[table] calls, these are 90% of the calls I use throughout wallets and explorer and were used because they were most performant, also not opposed to replacing with TBD new calls but i would hope we don’t need to sacrifice performance for the sake of making the api “better”
-
I had to speed run changing out xchain API calls for counterparty API calls in January so I know I can get it done in about a week if necessary 😆
-
yeah performance should *not* suffer. however, I've heard a lot about non-performant API endpoints but no one has told me which ones they are. see https://github.com/CounterpartyXCP/counterparty-core/issues/1359Painfully Slow API Calls? · Issue #1359 · CounterpartyXCP/counterparty-core
Please add to this list! "the way i get around the slow get_asset_info call is because i dont need EVERY description for assets in an address, i can filter out assets that i already know what ...
-
I can document all the calls I’m using and why and maybe that would help in working appropriate replacements
-
I think the biggest problem is filtering by each parameter isn’t available in a lot of the non get_[table] calls
-
So with get_asset_info I can’t say here’s a bunch of assets but I only need the results to give me ones with “STAMP:” prefix in the description
-
But I could take the same asset list and run with that filter in get_issuances
-
-
-
Sure it just becomes a performance issue without it since I have to filter results rather than get filtered results in the first place, but I get what you’re saying
-
what is the arg is it just kickstart --database-file? Like just remove the db so just recreates it?
-
just use a different db name with --database-file. you can call it anything. not sure but may need to precede`kickstart`
-
sorry for being dumb so the --database-file is used like "--database-file newcp.db"
-
yup! you're not being dumb, you're being super helpful.
-
I just have not used a lot of linux before, almost all my stuff is GUI based
-
all good! again, this is incredibly helpful and Counterparty should be quite easy to run. I just appreciate that you have the patience to work through the growing pains.
-
-
these are the only reactions I can make in this TG, not sure if this affects others or not
-
lollll I have the full range of reactions available on OSX, but am quite limited on Ubuntu.
-
This is osx
-
I only have this issue in this TG
-
Will this compatibility extend to continuing seeing updates in messages?
I believe we should have a clear distinction between the database SQL schema (which is now append only) vs the normalized entities.
AND I also believe that CP developers that want to create their own api to the DB should be embraced. Obviously, with schema refactoring, these power users will need to update their queries. But DB schema changes should not be common for a mature protocol.
I literally remember the day I saw there was a hidden sql api endpoint and how I would have preferred to use that rather than having to be limited by the predefined api which has(had?) many limits and inefficiencies. -
-
e.g. - if you wrote some software that scraped a webpage to grab some information from that webpage, and then the developer changed the layout of the webpage and it broke your software, you wouldn’t really be entitled to anger about that, because you shouldn’t have been relying on a specific webpage format to get the info you needed
-
You can appeal to what things should be, but it’s not a greenfield.
-
And people are giving feedback
-
yes, the maintainers have acknowledged receiving the feedback and understand the implications of the decisions that they are making
-
I am generally in agreement with that view @droplister but this conversation has migrated from what is the case to what ought to be the case.
-
I missed some scrolls maybe
-
-
-
-
-
-
-
-
-
Scroll right within that box for more.
-
The way I see things is different. And I can understand being misunderstood.
For me, Counterparty is the hashes, which are generated by a single database.
The API is split between write and read. For the write API, I am fully in agreement that it should not be bypassed.
But for the READING of the data, I rather build the queries myself based on the needs of my application. And I believe this is a better way to effectively use the protocol data.
I’m very sure the critics to this approach would have a different opinion if they had applications.
I would literally lower the scope of the READ API to some basic examples, and then delegate to app developers the READing interface to the database.
For THIS SOFTWARE, which basically everything ends in an SQLite DB, it is a POSITIVE for developers to just query directly. Why I need to wait for a “dev team” to build the query for me? It feels like there is an “elitism” where only a select few decide how to READ the data? I don’t buy it. -
You are free to develop any way you want, obviously, but understand that bypassing the API (even just for reading) is not standard practice.
-
Free to write software however you want, and free to maintain it based on the consequences of your own decisions. I think we’ve discussed this point enough. Some useful outcomes from the discussion include how the upgrade path will look for users, and how maintainers can make upgrades easier by splitting things into separate versions and having a defined ‘request for comment’ period. The outcomes will not include the maintainers doing what you want because you said so.
-
yeah this is all going to be deprecated... it's just terrible :/ (100% my fault!)
-
lol not the new dev. new dev is @ warrenpuffett on github, who, like lots of people, would get no pleasure out of the back-and-forth on telegram
-
One second, pulling up my contact card with my name, address, and model of my first car….
-
I KNOW is not “standard practice”. I’m saying, it is the MOST direct interface to Counterparty.
The day CP stops being a SQLite DB, then my approach might not work.
I don’t understand the resistance to being more efficient lol. -
It is not more efficient it is bad practice. Db changes can not and should not require backwards compatibility. That is why apis exist
-
-
-
who are the socks?? who is whose sock?? let’s hear the full theory!
-
Processing all this… and I think it is pretty evident that the high usage by CP product developers of the messages and get_<table> proves the point that a customized READ api in the reference protocol implementation is kind of pointless. Developers just want the data.
But I can still understand having some basic read api, for “backward compatibility” (which in many cases translates to quite inefficient queries) of such basic api consumers. -
-
-
-
-
-
weird, that works, I guess it resets for a new TG?
-
OK] Connecting to addrindexrs...
[OK] Getting last known block hash...
[OK] Checking database state...
[OK] Initialising database...
[OK] Starting blocks parser from block 278269...
[OK] Cleaning up...
Last parsed block: 289999
Kickstart done in: 1872.533s
[2024-03-07 15:44:33][ERROR] Unhandled Exception
Traceback (most recent call last):
File "/home/ubuntu/.local/bin/counterparty-server", line 8, in <module>
sys.exit(server_main())
File "/home/ubuntu/counterparty-lib/counterparty-cli/counterpartycli/__init__.py", line 18, in server_main
server.main()
File "/home/ubuntu/counterparty-lib/counterparty-cli/counterpartycli/server.py", line 172, in main
server.kickstart(
File "/home/ubuntu/counterparty-lib/counterparty-lib/counterpartylib/server.py", line 507, in kickstart
kickstarter.run(
File "/home/ubuntu/counterparty-lib/counterparty-lib/counterpartylib/lib/kickstart/__init__.py", line 380, in run
tx_index = parse_block(kickstart_db, cursor, block, block_parser, tx_index)
File "/home/ubuntu/counterparty-lib/counterparty-lib/counterpartylib/lib/kickstart/__init__.py", line 282, in parse_block
blocks.parse_block(kickstart_db, block['block_index'], block['block_time'])
File "/home/ubuntu/counterparty-lib/counterparty-lib/counterpartylib/lib/blocks.py", line 201, in parse_block
new_txlist_hash, found_txlist_hash = check.consensus_hash(db, 'txlist_hash', previous_txlist_hash, txlist)
File "/home/ubuntu/counterparty-lib/counterparty-lib/counterpartylib/lib/check.py", line 261, in consensus_hash
raise ConsensusError(error_message)
counterpartylib.lib.check.ConsensusError: Incorrect txlist_hash hash for block 290000. Calculated d86938404e91f0c70c52b66beedc996a1601cabd10c18f3f052ad6110216af3a but expected c15423c849fd360d38cbd6c6c3ea37a07fece723da92353f3056facc2676d9e7
/usr/lib/python3.10/multiprocessing/resource_tracker.py:224: UserWarning: resource_tracker: There appear to be 31 leaked shared_memory objects to clean up at shutdown
warnings.warn('resource_tracker: There appear to be %d ' -
same error
-
but I did not update any code so I guess expecting the same result is expected?
-
hm!
-
what is your commit hash?
-
enter git log in a terminal and paste the the first line that starts with the word commit
-
from which dir
-
ah you didn't pull counterparty-core, right? so counterparty-lib
-
I think you renamed right after I pulled
-
that's totally fine
-
we want to capture the state at which you're hitting this error
-
no one else has reported it, so any unique identification we can make will help. do /not/ pull before you run git log, please 🙂
-
when do I run that cmd
-
ubuntu@ip-172-31-52-115:~$ git log
fatal: not a git repository (or any of the parent directories): .git -
you have to cd counterparty-lib first
-
then git log
-
commit f941aea0cf36ec10789a82c1deefa038f4e9aeb8 (HEAD -> develop, origin/develop)
Merge: 2d8d5f15 8164faff
Author: Adam Krellenstein <adam@krellenstein.com>
Date: Sun Mar 3 07:42:25 2024 +0100
Merge pull request #1465 from CounterpartyXCP/wp/python-3-10
Support Python 3.10 -
tysm!
-
I could pipe to a file if you needed
-
I think we're alright for now thank you though.
-
super weird that you're hitting this. I just nuked my kickstart and restarted from scratch using counterparty start and I didn't hit this @ 290k
-
ouziel's response lol: "arf! will check his db!" we'll figure this out!
-
Last parsed block: 289999
-
mine was 289999
-
yep, Counterparty has checkpoints at regular intervals, at which consensus hashes of your syncing are compared to a known 'good' state.
-
if the hashes don't match your node crashes, by design.
-
i believe the 'good' hashes are those resulting from running master
-
IOW the software is doing what it's supposed to do but it just hasn't done this for anybody else so we're a bit confused!
-
In a sense @robotlovecoffee this is exactly why we want people running nodes, so thank you.
-
LIVe right now. Runes developers FWIW https://www.youtube.com/live/XMu2GPlQg0UOrdinals Coding Club (3/7/24)
Come hang out on the Ordicord and watch live coding, issue + PR review. Join the event live! https://discord.gg/ordinals
-
My favorite quote so far ‘dockers bs’…
-
Point of differentiation to Runes, the max "multi send" size is 6. It's a lot higher in Counterparty. They can go beyond 6, but only if they are sending each address the same amount.
- 08 March 2024 (37 messages)
-
I assume is based on the opreturn limit? Would they support more if is not a standard tx?
-
Yes
-
-
Ord dev thinks standardness will change and op return limit will go away or rise.
-
@jp_janssen is this organically connected to you? I do not know enough about the economics or politics of this niche at the moment. https://openstamp.io/explorer/jpja What is the use case?Link
Features SRC20 & Stamps Marketplace, Minting Service, Launchpad, and an Explorer for SRC20 & Stamps asset tracking.
-
Not related to me.
-
I’m just sharing what I’m seeing.
-
I just virtualized a server and can now repurpose that hardware for a new node. Does anyone have any tips, ideas or thoughts about spinning up a new testnet bitcoin and counterparty node on debian or ubuntu? I’m leaning towards debian, and open to any os really.
Does counterparty play well with testnet? -
-
-
-
-
-
Can we pin this?
-
@teysol as of a few days ago develop's readme was out of date afaik
-
@robotlovecoffee so you got the same calculated hash resulting in a mismatch at 290k. feel free to move on from your commit hash and pull latest!
-
you can follow these instructions 🙂
-
so I do the git pull again
-
the following should work
git clone https://github.com/CounterpartyXCP/counterparty-core
git checkout develop
cd counterparty-core/counterparty-rs
pip3 install -e .
cd ../counterparty-lib
pip3 install -e .
cd ../counterparty-cli
pip3 install -e .GitHub - CounterpartyXCP/counterparty-core: Counterparty Protocol Reference ImplementationCounterparty Protocol Reference Implementation. Contribute to CounterpartyXCP/counterparty-core development by creating an account on GitHub.
-
Should that last command reflect -core/ instead of -cli/?
-
-
-
Joined.
-
-
xchain has testnet support
-
I asume I can delete the old folders?
-
yup
-
so just have couterparty-core
-
and not the others
-
you need addrindexrs too
-
(we'll be killing it soon enough)
-
yup
-
just can remove -cli and -lib
-
ok so after this run kickstart
-
should I nuke the db files also?
-
you don't need to but you can!
-
probably should, yes
- 09 March 2024 (43 messages)
-
ok re running ks
-
pls lmk if you hit a consensus hash mismatch!
-
-
I do this with ec2 volumes
-
Create snapshots whenever you want. I stop everything and label them with the last block
-
-
-
ubuntu@ip-172-31-52-115:~/.local/share/counterparty$ counterparty-server kickstart
[OK] Block 334999 parsed in 0.004s [56730/554873 blocks parsed - tx_index: 127538 - 0:53:10/8:40:07 (7:46:56)]
[OK] Cleaning up...
Last parsed block: 334999
Kickstart done in: 4725.921s
[2024-03-09 01:45:13][ERROR] Unhandled Exception
Traceback (most recent call last):
File "/home/ubuntu/.local/bin/counterparty-server", line 8, in <module>
sys.exit(server_main())
File "/home/ubuntu/counterparty-core/counterparty-cli/counterpartycli/__init__.py", line 18, in server_main
server.main()
File "/home/ubuntu/counterparty-core/counterparty-cli/counterpartycli/server.py", line 173, in main
server.kickstart(
File "/home/ubuntu/counterparty-core/counterparty-lib/counterpartylib/server.py", line 525, in kickstart
kickstarter.run(
File "/home/ubuntu/counterparty-core/counterparty-lib/counterpartylib/lib/kickstart/__init__.py", line 353, in run
tx_index = parse_block(kickstart_db, cursor, block, block_parser, tx_index)
File "/home/ubuntu/counterparty-core/counterparty-lib/counterpartylib/lib/kickstart/__init__.py", line 278, in parse_block
blocks.parse_block(kickstart_db, block['block_index'], block['block_time'])
File "/home/ubuntu/counterparty-core/counterparty-lib/counterpartylib/lib/blocks.py", line 204, in parse_block
new_txlist_hash, found_txlist_hash = check.consensus_hash(db, 'txlist_hash', previous_txlist_hash, txlist)
File "/home/ubuntu/counterparty-core/counterparty-lib/counterpartylib/lib/check.py", line 262, in consensus_hash
raise ConsensusError(error_message)
counterpartylib.lib.check.ConsensusError: Incorrect txlist_hash hash for block 335000. Calculated 9c584d9407bdf34ea4a3de44f1a5854ba47065a5e13aa1a3dca8239fcdc0e226 but expected 437d9507185b5e193627edf4998aad2264755af8d13dd3948ce119b32dd50ce2 -
I'm running a EC2 instance and it is costing around 335$ usd a month with the testing I have been doing, more just fyi is someone was looking to stand one up
-
this is so weird. just to confirm, you're on develop?
-
can you share your db like last time pls
-
yes develop I think
-
when I run git checkout I get the following from -core
-
ubuntu@ip-172-31-52-115:~/counterparty-core$ git checkout develop
Already on 'develop'
Your branch is up to date with 'origin/develop'.
ubuntu@ip-172-31-52-115:~/counterparty-core$ -
can you post the output of git branch
-
ubuntu@ip-172-31-52-115:~/counterparty-core$ git branch
* develop
master
ubuntu@ip-172-31-52-115:~/counterparty-core$ -
should I just start from a fresh instance at this point?
-
rule out red herrings?
-
I mean I guess it couldn't hurt? but we need the db first in order to rule out the possibility of non-determinism
-
ok
-
link to db
-
-
tysm
-
because the file is getting bigger you can use the awscli to send files from an E2C to S3
-
just have to setup a user and grant permission
-
without it would be hard for me up at camp with starlink on the upload