<p>Let's break it down a little.</p>

<p>Things you need a node for:</p>

<ol>
<li>Receiving new transactions and blocks</li>
<li>Indexing transactions </li>
<li>Building transactions</li>
<li>Broadcasting transactions</li>
</ol>

<p>Things you don't need a node for:</p>

<ol>
<li>Generating keys</li>
<li>Signing transactions</li>
</ol>

<p>You could, in theory, just build a program that generates your keys and multisig redeem scripts, and converts them to addresses for your users. Then, you can use insight or blockchain.info or any one of several explorers to look up transactions for the addresses you generate, and build outgoing transactions.</p>

<p>Once you have the outgoing transaction, your program can sign it with the keys you previously generated, and then broadcast it via an explorer API.</p>

<p>Alternatively, you could run your own bitcoind node, and index incoming transactions yourself.</p>

<p>A wallet and a node are two separate concepts. Bitcoind can act as both, but it's core function is that of a node. Many people run bitcoind with absolutely no keys on it, and use light clients like Electrum or hardware wallets to store their actual BTC.</p>

CC BY-SA 4.0
2018-07-27T06:37:46.743Z
Could you please draw an architectural diagram, I really newbie at this area.
Frank AK
CC BY-SA 4.0
2018-07-27T06:59:23.953Z
It's not possible to design an architecture without a lot more detail, and that's unfortunately more effort than I'd be willing to put in on a volunteer site. There are too many different ways you could build this.
Raghav Sood
CC BY-SA 4.0
2018-07-27T12:39:35.177Z
Oh, I understand how's going on. because I still believe there are must be need a centre server exists. I have review your answer and got your point! I want to build a DAPP instead a normally app! Thanks bro.
Frank AK
CC BY-SA 4.0
2018-07-27T06:28:06.853Z
2018-07-27T06:28:06.853Z
Raghav Sood
<p>You'll need to be running a full Bitcoin node and on top of that some sort of API that stores information on blocks/transactions/addresses in a database (e.g. the insight api). </p>

<p>You could then have another API on top of that handles wallet generation and key handling (something like Bitcore Wallet Service). </p>

CC BY-SA 4.0
2018-07-27T08:31:05.320Z
2018-07-27T08:31:05.320Z
Nikos Kostoulas
<p>Actually, I know there are already have blockchain.info and its own api. But I want to build my own server which can provide basic API like:</p>

<ul>
<li><ol>
<li>Generate a wallet by use password and username.</li>
</ol></li>
<li><ol start="2">
<li>User can login/logout(Optional)</li>
</ol></li>
<li><ol start="3">
<li>User can do transaction (send/receive to/from someone's address)</li>
</ol></li>
</ul>

<p>But, I have google for a while. The only way to create a wallet is configure the <code>bitcoin.conf</code> before run the <code>bitcoind</code> server. I don't know how can <a href="https://www.cryptocompare.com/wallets/guides/how-to-create-a-multi-signature-wallet/" rel="nofollow noreferrer">this</a> works, I know there are also a way call <code>multisig</code>, But I don't know how to connect it with the wallet. I mean how to make each user has his/her own wallets.</p>

<p>Anyone help?</p>

<transactions><wallet><multi-signature>
How to build a bitcoin delegation server?
Frank AK
# How to build a bitcoin delegation server?

(Asked by: username_0 on 2018-07-27)

Actually, I know there are already have blockchain.info and its own api. But I want to build my own server which can provide basic API like:

* 1. Generate a wallet by use password and username.
* 2. User can login/logout(Optional)
* 3. User can do transaction (send/receive to/from someone's address)

But, I have google for a while. The only way to create a wallet is configure the `bitcoin.conf` before run the `bitcoind` server. I don't know how can [this](https://www.cryptocompare.com/wallets/guides/how-to-create-a-multi-signature-wallet/) works, I know there are also a way call `multisig`, But I don't know how to connect it with the wallet. I mean how to make each user has his/her own wallets.

Anyone help?

**Tags:** transactions, wallet, multi-signature


---

## 2 answers

### Answer by username_1 on 2018-07-27. Score: 1 | Accepted answer

Let's break it down a little.

Things you need a node for:

1. Receiving new transactions and blocks
2. Indexing transactions
3. Building transactions
4. Broadcasting transactions

Things you don't need a node for:

1. Generating keys
2. Signing transactions

You could, in theory, just build a program that generates your keys and multisig redeem scripts, and converts them to addresses for your users. Then, you can use insight or blockchain.info or any one of several explorers to look up transactions for the addresses you generate, and build outgoing transactions.

Once you have the outgoing transaction, your program can sign it with the keys you previously generated, and then broadcast it via an explorer API.

Alternatively, you could run your own bitcoind node, and index incoming transactions yourself.

A wallet and a node are two separate concepts. Bitcoind can act as both, but it's core function is that of a node. Many people run bitcoind with absolutely no keys on it, and use light clients like Electrum or hardware wallets to store their actual BTC.

> **Comments:**
> **username_0**: Could you please draw an architectural diagram, I really newbie at this area.  
> **username_1**: It's not possible to design an architecture without a lot more detail, and that's unfortunately more effort than I'd be willing to put in on a volunteer site. There are too many different ways you could build this.  
> **username_0**: Oh, I understand how's going on. because I still believe there are must be need a centre server exists. I have review your answer and got your point! I want to build a DAPP instead a normally app! Thanks bro.  

---

### Answer by username_2 on 2018-07-27. Score: 1

You'll need to be running a full Bitcoin node and on top of that some sort of API that stores information on blocks/transactions/addresses in a database (e.g. the insight api).

You could then have another API on top of that handles wallet generation and key handling (something like Bitcore Wallet Service).


---

