How to use Multisig feature on Bitcoin Core RPC in an online exchange?

I’ve craeted a small online exchange based on Bitcoin Core. The features in this application are:

  1. User send request to get a new address, and the Bitcoin Core generate a new one with defined passphrase.
  2. User can receive BTC on his own address.
  3. User can send BTC from his own address, and for this purpose, I’ve used sendtoaddress after unlocking account with walletPassphrase.

In this scenario, there is one complicated passphrase which is able to unlock all accounts. But after reading about multisig feature, I thought about implementing a scenario in this regard on my application. But there are some questions in my mind:

  1. I have used a fixed passphrase in my codes while sending transactions. Regarding to multisig concepts, I need to use different private keys to sign data instead of using a passphrase to unlock that account. Am I right?
  2. As the operation in an online exchange should be do automatically, I think I have to use all required private keys in the final step of my codes. In this case, I think I did not add any new security mechanism to my application as everything is located beside each other. Can I cound on security impact of multisig accounts in my application at all?

I hope you can help me so solve these issues in my mind.

microsoft – Call WCF service from ASP.NET core 3.1 API

I am getting below error when I am trying to call WCF service from ASP.Net Core, this is happening only when both wcf service and API deployed on IIS 10.

Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) System.ServiceModel.CommunicationException: No connection could be made because the target machine actively refused it.
—> System.Net.Http.HttpRequestException: No connection could be made because the target machine actively refused it.
—> System.Net.Sockets.SocketException (10061): No connection could be made because the target machine actively refused it.
at System.Net.Http.ConnectHelper.ConnectAsync(String host, Int32 port, CancellationToken cancellationToken)

I am able to connect same WCF service from ASP.NET MVC controller. It fails only when we access from .net core.

Any thoughts here, will be greatly apricated.

Thanks,
Pani

bitcoin core – get a proof in merkell tree

suppose I have a set of transaction hashes for a block as ( “ab12” -> “bn56” -> “lk87” ->”op92”) , what would be the code to generate a simple Merkle root of the transactions above.

Given a transaction hash “lm46” at index 1, what will be code to prove that it does not belong to the above Merkle tree. ( here index starts from 0 )

wallet – Bitcoin Core internal Electrum Server

I think the preferred technique to use ‘bitcoin core as a wallet backend’ is through block filters, like the new compact block filters (an improvement over bloom filters). The protocol is known as Neutrino and lowers the CPU and storage requirements for your bitcoin core node (an electrumx database takes around 50 GB right now). To create these filters in bitcoin core, you need to launch add the bitcoind option blockfilterindex=1 or blockfilterindex=basic. With these filters, you can filter for blocks that affect the addresses (scriptPubKeys) that belong to your wallet. Several lightning wallets use this technique

This block filtering technique produces some false-positives, so you will fetch blocks that end up not affecting your addresses. Because you are requesting more than just the relevant transactions to your wallet, you end up consuming much more bandwidth than using an electrum server but it has the advantage of being more private.

Neutrino is used by several lightning network wallets:

magento2 – Overriding core user data files for Magepack

We are working on getting Magepack installed on our dev environment. One of the shims we had to fix was in the “customer-data.js”. It works when we edit the core file(vendor/magento/module-customer/view/frontend/web/js/customer-data.js), but when we try and put it into the “app/code” file, the override doesn’t seem to work.
This is what we are trying.
app/code/Magento/Customer/view/frontend/web/js/customer-data.js

We’ve deployed, clear cache, everything, but that file does not override for some reason

Google core update may 2020

can anybody help to know more about google core update 2020. what is the effect of google update and solutions for the search engine ranking..

8 – Why do I get “Nothing to install or update” when I update to latest core version?

Under /admin/modules/update, Drupal core is listed as requiring update from 8.8.8 to 8.9.1. I have started my Drupal installation using the drupal/recommended-project project template and I used composer update drupal/core-recommended --with-dependencies to update Drupal core, but when I run the above command, all I get is this message.

Nothing to install or update

Am I missing something?

This is the content of the composer.json file.

{
    "name": "drupal/recommended-project",
    "description": "Project template for Drupal 8 projects with a relocated document root",
    "type": "project",
    "license": "GPL-2.0-or-later",
    "homepage": "https://www.drupal.org/project/drupal",
    "support": {
        "docs": "https://www.drupal.org/docs/user_guide/en/index.html",
        "chat": "https://www.drupal.org/node/314178"
    },
    "repositories": [
        {
            "type": "composer",
            "url": "https://packages.drupal.org/8"
        }
    ],
    "require": {
        "composer/installers": "^1.2",
        "drupal/addtoany": "^1.14",
        "drupal/admin_toolbar": "^2.3",
        "drupal/better_exposed_filters": "^4.0",
        "drupal/blazy": "^2.1",
        "drupal/business_rules": "^1.0",
        "drupal/captcha": "^1.1",
        "drupal/change_pwd_page": "^1.0",
        "drupal/colorbox": "^1.4",
        "drupal/conditional_fields": "^1.0",
        "drupal/core-composer-scaffold": "^8.8",
        "drupal/core-project-message": "^8.8",
        "drupal/core-recommended": "^8.8",
        "drupal/dynamic_entity_reference": "^1.10",
        "drupal/entity_reference_revisions": "^1.8",
        "drupal/eva": "^2.1",
        "drupal/field_group": "^3.1",
        "drupal/field_permissions": "^1.0",
        "drupal/field_timer": "1.x-dev",
        "drupal/firebase": "^2.0",
        "drupal/flag": "^4.0",
        "drupal/fontawesome": "^2.16",
        "drupal/google_analytics": "^3.1",
        "drupal/jquery_ui_accordion": "^1.1",
        "drupal/jquery_ui_checkboxradio": "^1.2",
        "drupal/module_filter": "^3.1",
        "drupal/pathauto": "^1.6",
        "drupal/persistent_login": "^1.3",
        "drupal/reroute_email": "^1.2",
        "drupal/simple_fb_connect": "^3.1",
        "drupal/simplify": "^1.1",
        "drupal/sitewide_alert": "^1.3",
        "drupal/slick": "^2.2",
        "drupal/slick_views": "^2.3",
        "drupal/sms": "^1.3",
        "drupal/sms_simplegateway": "^1.1",
        "drupal/subpathauto": "^1.1",
        "drupal/telephone_validation": "^2.3",
        "drupal/token": "^1.6",
        "drupal/token_filter": "^1.1",
        "drupal/ultimate_cron": "^2.0",
        "drupal/video": "^1.4",
        "drupal/views_infinite_scroll": "^1.7",
        "drupal/webform": "^6.0",
        "drush/drush": "^10.2",
        "wikimedia/composer-merge-plugin": "^1.4"
    },
    "require-dev": {
    },
    "conflict": {
        "drupal/drupal": "*"
    },
    "minimum-stability": "dev",
    "prefer-stable": true,
    "config": {
        "sort-packages": true
    },
    "extra": {
        "merge-plugin": {
            "include": [
                "web/modules/contrib/webform/composer.libraries.json"
            ]
        },        
        "drupal-scaffold": {
            "locations": {
                "web-root": "web/"
            }
        },
        "installer-paths": {
            "web/core": ["type:drupal-core"],
            "web/libraries/{$name}": ["type:drupal-library"],
            "web/modules/contrib/{$name}": ["type:drupal-module"],
            "web/profiles/contrib/{$name}": ["type:drupal-profile"],
            "web/themes/contrib/{$name}": ["type:drupal-theme"],
            "drush/Commands/contrib/{$name}": ["type:drupal-drush"],
            "web/modules/custom/{$name}": ["type:drupal-custom-module"],
            "web/themes/custom/{$name}": ["type:drupal-custom-theme"]
        },
        "drupal-core-project-message": {
            "include-keys": ["homepage", "support"],
            "post-create-project-cmd-message": [
                "<bg=blue;fg=white>                                                         </>",
                "<bg=blue;fg=white>  Congratulations, you’ve installed the Drupal codebase  </>",
                "<bg=blue;fg=white>  from the drupal/recommended-project template!          </>",
                "<bg=blue;fg=white>                                                         </>",
                "",
                "<bg=yellow;fg=black>Next steps</>:",

                "  * Install the site: https://www.drupal.org/docs/8/install",
                "  * Read the user guide: https://www.drupal.org/docs/user_guide/en/index.html",
                "  * Get support: https://www.drupal.org/support",
                "  * Get involved with the Drupal community:",
                "      https://www.drupal.org/getting-involved",
                "  * Remove the plugin that prints this message:",
                "      composer remove drupal/core-project-message"
            ]
        }
    }
}

bitcoin core – How to manually compute a descriptors checksum?

In the docs it says: The checksum for a descriptor without one can be computed using the getdescriptorinfo RPC.

I would like to build a recovery tool where many descriptors are imported, calling getdescriptorinfo for each is cumbersome. Manually calculating the checksum would save a lot of time and network calls.

Do I just double sha256 the entire descriptor and convert the last 4 bytes to hex?

Thanks :]

Error al conectar .Net Core Consola a una base de datos .mdb

E buscado el error, pero no e encontrado nada de .net core consola, solo en asp.net core, y no entiendo porque me sale el error
Error al conectarse a base de datos en .Net Core

bitcoin core – Segfault when clearing mempool. What am I doing wrong?

Background:

For a research project, I am trying to periodically clear the content of my Bitcoin node’s mempool. For this purpose I have created a new thread in init.cpp using the boost threadgroup (I have experimented with this successfully with a different project in the past and I am sure this is not the cause of the problem) in the Bitcoin Core software. In the new thread, I periodically call a function func (defined below), the sole purpose of which is to clear the content of the node’s mempool.

void func()
{
    LOCK2(cs_main, mempool.cs);
    AssertLockHeld(cs_main);
    AssertLockHeld(mempool.cs);
    mempool.clear();
}

I check for and lock critical sections that I think I should before I modify the mempool (the code above mimics what happens when a new transaction is added to the mempool; I basically looked at what happens in the NetMsgType::TX branch of ProcessMessage in net_processing.cpp and then AcceptToMemoryPoolWorker in validation.cpp and mimic that).

Issue:

When I run Bitcoin after successfully compiling my code, I sometimes immediately (i.e., as soon as the GUI window pops up) and sometimes much later in the execution face a segfault that causes the program to crash.

ubuntu@root:~$ bitcoin-qt -mpctimeout=1
Segmentation fault (core dumped)

In the code above, the function func is executed every 1 minute (represented by mpctimeout=1).

Question:

What could be causing the segfault? Could it possibly be race conditions when trying to get a lock on the mempool or execution of the main thread? It is my understanding that LOCK2 should keep trying to get a lock on the critical sections when they become available in case they are already locked by another thread/process. Since these locks only exist within the scope of the function func, they should ideally be released when returning from the function.