Giter Club home page Giter Club logo

wiki's Introduction

Bisq Wiki

Basic installation of MediaWiki with some customizations added for Bisq. See INSTALL file for installation instructions.

Daily backup system

If you are the Wiki Operator, you should implement off-site daily backups of both the MySQL database dump and the webroot:

@reboot keybase fs ls /keybase >/dev/null 2>&1
@reboot screen -dmS kbfsfuse kbfsfuse /keybase
34 13 * * * find /backup -mtime +20 -name \*.bz2 -exec rm -f {} \;
37 13 * * * mysqldump --all-databases --triggers --routines --events | bzip2 > /backup/bisq-wiki-`date +\%Y-\%m-\%d-\%H\%M`.sql.bz2
37 13 * * * cd /usr/local/www && tar jcf /backup/bisq-wiki-`date +\%Y-\%m-\%d-\%H\%M`.tar.bz2 .
0 14 * * * rsync -a /backup/bisq-wiki-\* /keybase/private/bisqwiki/backup/

Also add a crontab for www user to generate sitemap hourly:

39 * * * * (cd /usr/local/www && php maintenance/generateSitemap.xml bisq.wiki) >/dev/null 2>&1

wiki's People

Contributors

cbeams avatar wiz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

wiki's Issues

Purchase bisq.wiki domain

Domain name and DNS are both currently at Gandi under @cbeams account. Cost was 31.90 EUR, expires on Jan 29, 2021. To be transferred to new @bisq-network/wiki-operator.

Establish a patrolling process

To protect against vandalism, to help enforce consistency with guidelines, etc.

This will need something like a Wiki Editor role to be responsible for it. There could be multiple owners of that role, and between them they patrol all new articles and changes.

This might not be necessary to do right away, but could also be a big help in starting things off in the right direction.

Ideally should be someone who's familiar with Wikipedia editing standards and techniques.

See https://www.mediawiki.org/wiki/Help:Patrolled_edits

Create style guidelines article

From a conversation between @m52go and @cbeams at bisq-network/projects#6 (comment):

Is there any place we can put wiki contribution guidelines/suggestions? Maybe just create a new page for it?

Just a new page is fine for a start. See

for reference. Perhaps a page simply titled https://bisq.wiki/Guidelines would be fine for now, simply listing out the various guidelines and rules we'd like to establish.

I'm particularly interested in specifying that screenshots should omit the OS window border, since everyone runs something different

True, but in my experience, the convenience of CMD-SHIFT-4-SPACE whole-window screenshots on macOS are important. And they look very attractive because they capture the drop shadow. I'm not opposed to a style guideline that says that all such screenshots should crop out window trim and shadows, but I'm not sure the end result will actually be better for it. If someone does a guide from ubuntu and captures the look and feel there, and most others do it from macOS, it's not the biggest deal to me personally. Also, some articles may include screenshots of non-Bisq windows, e.g. finder/explorer windows, and there is no way to hide the os-specificity there. Again, I don't have a very strong opinion on this.

and to use the same template for all arrows (I have one I've used for all arrows on docs.bisq.network).

Seems like a good idea. Just wonder if there's actually a common toolset that people will be able to use. I've always liked using Skitch for quickly marking up screenshots. But whatever you see fit.

Qubes instructions inconsistent reference to bind-dirs

The Qubes instructions suggest using bind-dirs.
This is unnecessary, since the instructions also say to use a stand alone qube. Bind-dirs is used in template based qubes, to make files/directories persistent, that would otherwise be overwritten on reboot, since they belong to the template.
The references to bind-dirs can be removed from these instructions as they stand.

Running_Bisq_on_Tails at least needs a disclaimer

At least add commentary along the lines of

"Following these directions will allow you to run Bisq in Tails until you reboot. It is not persistent. You will need to repeat these steps on each boot of tails and start over."


Better yet - document a method of installing Bisq that is persistent on Tails.

This is possible using the persistence feature of installing packages. It may require Bisq to be published to the set of apt repositories Tails is configured with ... or petition tails to add your apt repository to their sources ... but with some configuration (saving data to persistence) it would definitely be possible to do. May require a tails-specific package/repo to provide the hooks to do the manual post dkpg steps in the current wiki within the package which would get installed from persistence on each boot.

Transcribe DAO docs to wiki

The huge task of moving the Bisq documentation from the Bisq website to the Bisq wiki is well underway.

One of the last remaining pieces is the DAO. The task itself is not very complicated but organizing and structuring it in a way that makes sense is very important due to the amount of information and to ensure that users/contributors can easily find the information they need.

Therefore, @m52go and I decided to open an issue so that anyone interested in pitching in/helpingcould easily participate.

We believe that we have a decent structure in place but we're obviously open to feedback:
(rough draft)

2

Currently working on the top level heading: https://bisq.wiki/Introduction_to_the_DAO

I've mainly just transcribed what was on https://docs.bisq.network/user-dao-intro.html. The idea is to get a rough structure in place, getting every article linked to the "One-stop-shop-DAO Page" and then from there transcribing most of the articles.

Suggestions on articles names would be great. I'll likely copy what we have in the Bisq Docs for now.

Establish regular backup process

Follow whatever typical mediawiki conventions are for doing backups.

  • Make sure doing these backups, how often they're done, where they're stored, etc are mentioned in the duties section of the https://bisq.wiki/Wiki_Operator role documentation. A Process section may be created to expand on the details.

Styling UI elements

@kemccall this was discussed on Keybase a while ago, with most people favoring literals for UI elements. The style guide currently specifies bold for UI elements.

Can this element of the style guide be changed? Do you have any further concerns?

Qubes instructions in wiki incomplete

It isn't possible to install bisq using the instructions in the wiki.for Qubes.
This is because bind-dirs will not create a directory that is not already present, so the installation of the Bisq deb will fail.
It's necessary to manually create /usr/share/desktop-directories before restarting the qube to apply binding dir settings. (You can do this before or after setting up the bind-dirs.)

Add dark mode option

From #wiki chat between @cbeams and @wiz:

@cbeams wrote:

  1. Dark mode (god bless you for adding it) doesn't persist across pages. If I click it once it applies for that page view, but when I navigate to any other page, I'm back to light mode. I assume this is a cookie thing.

@wiz wrote
11:45 AM - Sun
yeah I just added that real quick since pedro was working on it live
of course a proper dark mode would be a user preference and persist somehow
since you use stylish you already know about the really nice vector dark themes out there
I can just import one of those into a new theme called DarkVector
then the ordinary way to set user preference theme will work
obviously inverting the color scheme doesn't result in a very nice looking dark mode
it needs to be polished with 50 shades of gray

So, @wiz, @pedromvpg, this issue is just about doing whatever is necessary to make persisting the dark mode option a reality.

Enable wiki email notifications

Currently, the only way to know that something you care about on the wiki has changed is to go to the https://bisq.wiki/Special:Watchlist page. This will show you recent changes to only those pages that are on your watchlist. Pages you create, and I believe pages that you've edited are automatically added to your watchlist.

This is a pull system and we need a push system. Something that will send out notifications via email anytime an article on your watchlist has changed. Ideally, something that gives the option to get notifications any time any article changes. The latter is good for those playing a more global "editor" role, or for anyone who just wants to keep up to date with everything that's going on in the wiki.

I've searched very briefly and I see that there are ways to enable notifications, but I have not looked at any of them more than just a glance.

Can someone figure this out, and ultimately have @wiz implement it on the wiki? The utility of the wiki is greatly diminished, and the likelihood that anyone will really help edit others' work is pretty low if we don't get some sort of notifications in place. Also, we could currently go a long time not knowing it if someone started adding garbage content to the wiki, or otherwise vandalizing existing content.

Add production bisq wiki codebase into git repo

  1. Start with official mediawiki source code
  2. Go through the current production code we're running and identify all the changes we did
  3. Add each change as a separate PR to better document the tweaks we've added

Wrong denomination in "BSQ trading fees" spreadsheet

I hope this is the right place for my issue as I discovered it while browsing the wiki and learning about the DAO.

Under the Updating BSQ trading fees side there is a link to the spreadsheet where the BSQ fees for the next cycle are determined transparently. The wiki states:

Three days before the end of proposal phase, the Compensation Maintainer shall:

  • Calculate BSQ trading fee discount on this spreadsheet using the 30-day weighted average USD/BSQ price and live USD/BTC price at the time.

Shouldn't therefore cell A4 state 30D WMA USD/BSQ instead of USD/BTC?

BSQ_trading_fees_spreadsheet

Record screencast communicating wiki structure and categorization concepts

The primary audience is @bisq-network/support, but this is really for everyone.

The intention is not to perfectly define how everything should be done on the wiki, but to lay out some general concepts, get a conversation started and work toward converging on a common approach to creating and editing content.

The screencast is available at keybase://team/bisq/2020-02-26%20Wiki%20structure%20and%20categorization%20screencast/zoom_0.mp4

Add page for BSQ swaps

For the upcoming BSQ Swap trade protocol we need a wiki page explaining the background. The links in the app go to : https://bisq.wiki/BSQ_swaps

I add here a general description of the feature. Hope that covers all and serves as base for the content. No need to add all details but I prefer to cover here all so it also can be used a reference for testers,...

A BSQ Swap is a new trade protocol existing in parallel to the default protocol. It is 1 single (atomic) transaction swapping BTC and BSQ inputs and outputs. Therefore it does not require mediation or arbitration support. Either the swap worked or not. Worst case it that an invalid tx got committed to the users wallet and they need to do a SPV-resync, but that should nearly never happen.
There is no fee transaction and no prepared/reserved funds. To ensure that the maker has enough funds when a taker takes the offer we are monitoring the wallet and once the available funds are not sufficient the offer will be disabled (removed from the network). Once the wallet is sufficiently funded again the offer will get re-enabled automatically. This all works without user interaction. The user can see the disable state in the "Open Offer" screen. The offer is then greyed out and a "eye with a strike" icon is shown.

Screenshot 2021-10-17 at 22 37 00

The user still can deactivate the offer like other offers.
Once a taker takes the offer the trade will move to the "BSQ SWAP TRADES" screen in portfolio.
The maker will see a notification on the top right corner (not auto-close) with info that an offer has been taken and a link to the "BSQ SWAP TRADES" screen.

Screenshot 2021-10-17 at 22 39 22

The taker will see a confirmation after confirming the take offer.

Screenshot 2021-10-17 at 22 39 33

When creating or taking an offer the user has similar steps like in normal Bisq trades but removed the fields which are not relevant. There is no fee selection for BSQ/BTC - it is only BSQ used for trade fee.
The miner fee and the trade fee handling is a bit more complicated as we want to avoid unneeded inputs.
E.g. A BTC buyer has only BSQ inputs, so if we would add his share for the miner fee we would require another BTC input. We optimized that so that the miner fee will be deducted from his expected BTC output.
Similar for the BC seller there is only a BTC input including the share of their miner fee and the BSQ trade fee will be deducted from the BSQ outputs.

Here the structure of a tx for a 1 BTC/50 000BSQ trade with 0.5 BSQ maker fee and 1.5 BSQ taker fee and lets estimate buyers miner fee to 2000 sat and sellers miner fee to 2500 sat.
Lets assume the maker is the buyer:

Buyer as makers BSQ input(s): min. 50 000 BSQ + 0.5 BSQ trade fee
Seller as takers BTC input(s): min 1 BTC + 2500 sat - 150 sat (his BSQ trade fee will be used for mining fee, so he needs a bit less miner fee)
Seller as takers BSQ payout output: 50 000 BSQ - 1.5 BSQ trade fee
Buyer as makers BSQ change output: xxx BSQ - optional, can be omitted in case input was exact
Buyer as makers BTC payout output: 1 BTC - 2000 sat miner fee + 50 sat from BSQ fee
Seller as takers BTC change output: xxx BTC - optional, can be omitted in case input was exact

The details for fee adjustment with the BSQ trade fee (which is used as miner fee) can be probably omitted in the documentation as its a minor details and maybe a bit complicated...

Here screenshots from the maker side:
Screenshot 2021-10-17 at 23 35 29
Screenshot 2021-10-17 at 23 35 37
Screenshot 2021-10-17 at 23 35 43
Screenshot 2021-10-17 at 23 37 02

Here screenshots from the taker side:
Screenshot 2021-10-17 at 23 36 19
Screenshot 2021-10-17 at 23 36 27
Screenshot 2021-10-17 at 23 36 34
Screenshot 2021-10-17 at 23 36 46

Completed trade:
Screenshot 2021-10-17 at 23 37 26

Screenshot 2021-10-17 at 23 37 14

As there is no fee tx for the maker we need some offer spam protection and use proof or work for that.
The difficulty (number of leading zeros) is set in the filter. When creating an offer the maker does the pow and attach that data to the offer. Each node verifies the pow and would not show offers with invalid pow.
If the pow increases the offers will re-do their pow in the background and will be republished (old offer removed, new offer with new pow added).

We append a counter to the offer ID at the end (after the version number in the full offer id) each time we re-new the offer by a new pow. That way we have technically a new ID which makes it easier to handle it but for the user it looks like the same ID (short offer ID is same).

The pow will be set to a very low value so users do not recognize anything (in low ms area).
A difficulty of 13 takes about 25 ms on my machine. Each increase is doubling the work, e.g. difficulty 14 requires 50 ms....
I recommend to use a initial value of 7 which is in average below 1 ms. With values about 20 the user will see the delay at offer creation of a few seconds and a spinner animation shows that the app is doing the pow.

Hope I covered everything....

Add to the Amazon Gift card article

In Europe we have multiple amazon sites (.fr, .es. .de, .it and even .se) and even though all are in EUR (except for SE) gift cards cannot be sent across websites. Which causes the need to buyer and seller to agree on where to buy the gift card so the trade can work.

What to Add to the Article:

  • If in EUR, please confirm with your peer which site to be used for the transaction

I'm discussing with @pazza83 how we can solve this in the payment method itself. For now it would avoid errors to communicate this before we can implement a long-term solution

Designate high-priority articles for translation

There are now a couple of contributors I'm working with in Spanish-speaking and Chinese-speaking markets who want to see documentation translated to help their users better understand Bisq, how it works, and how to use it.

This is an understandable desire.

But it raises a concern: how should translation of docs/wiki articles be handled? Surely not all articles in the English wiki should be up for translation. There are many languages and many markets. It doesn't seem reasonable that the DAO should be on the hook for paying for every single article to be translated for every new market. Only a few are critical for getting going.

Furthermore, the maintenance burden of keeping many articles updated for many languages would be enormous.

Therefore I think it's time we designate a minimal list of high-priority articles for translationβ€”the bare minimum a new user in a new market would need to get up and running. Likely candidates: project overview/introduction, trading rules, payment methods, fees, etc. Translations of any further articles would be discouraged, both because they wouldn't be useful for starting trading and because of the maintenance burden.

I haven't gone through and determined exactly what this list should be yet, but I will soon. I just want to make this issue first to gather any other thoughts in the mean time.

Determine policy for non-English wiki pages

@kemccall currently, the wiki style guide says:

Until there is a need for separate language wikis, create articles in the non English language with the English translation in comments. See Running Bisq in China as an example.

There is a chance we'll have more Spanish translations of existing materials in the next couple of months as part of a growth effort in Latin American markets.

How should these items be handled, if they become a reality?

Like I originally said way back when the article on running Bisq in China was written, that article is a one-off. It's not likely to be followed with any more Chinese items in the near future, and more importantly, it wasn't clear who would be reading the article to begin with. The target readership for that article seemed to prefer a mix of Chinese and English, and a few days later, someone from India found the article valuable. So English needed to be visible along with Chinese.

But, unlike that Chinese page, most non-English articles will probably be translations of existing articles, not one-offs, where the English will already be readily available elsewhere...so the policy on non-English pages should be created accordingly.

Edit the "Find your mediator" article

@wiz @Bisq-knight @pedromvpg @Plebeian9000

Some suggested changes:

Using gerunds ( . . . ing) for process names is fairly standard in technical writing and we've adopted it in our style guide. So, this article name would change to Finding your mediator and the sub heading How to find the mediator would change to Finding the mediator.

Gerunds are generally shorter and more direct, particularly when doing a search. (Although Find your mediator is an exception). All of the How to's get shortened and you don't end up with a list of How to this xxx and How to that xxx.

Also, I would change Getting in touch to Contacting. Getting in touch is a bit of a colloquialism.

Anyway, let me know if there are objections to these potential changes.

New article: changing onion address

Talk about how to do it, what to watch out for (open trades and disputes), downsides (old trades cannot be reopened), and why (resetting local reputation, upgrading to v3).

Add TXT DNS record for bisq.wiki email

@wiz wrote via chat:

the bisq wiki server needs to be able to send email from @bisq.wiki - can you add the following DNS record

bisq.wiki. IN TXT "v=spf1 a -all"
mail._domainkey.bisq.wiki. IN TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAz4TR6OhKEKroxplWStyTFQKxrMIeedS4XqQNCvXMMbsPmXFeHlLmkHPUDJbs7Xt+nRw4uLB7KtPuCCgELOMVZyt0ZjPKXLGq2I6lSUuz/ZCNEHp78yODZfD7LbTmHAZ264zlXnf66Jyzdc3K5m7jv1buy8Tn474rvHi3vKKqKefgS8VeYFaMyfWJ+jwgC2J3ZaodrezvZug7zawqArPveI8hUnanVI18draouZ5cMILCqELhjq3zLeCga/K8F+xV/+pHJH/hqRENxV1c22V9ZMZVbUVnktZyj2FtNTBnnnRsmHC9zHBz+deZMnOQmgDaOyfO0EThL0ls0D/HpUHIEQIDAQAB"

I've enabled it now but without this the emails might go into people's "spam" folders
the first one will whitelist the "a" record to send email for the domain, the second adds a public key that the outgoing mail can be cryptographically signed with, so users mailboxes can verify it was "signed by bisq.wiki"

Part of #3

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.