bitcoin core json-rpc interface with pruning enabled ...

Power of the Command Line (bitcoin-cli, hwi, electrum, trezorctl)

I think some of the console tools available with HW wallets today are greatly under utilized. Here's a quick write-up on how to create and sign a TXN very similar to 43d27...1fc06 found on the SLIP-14 wallet. I'll be using TrezorCTL, Electrum, and HWI for the signing. I won't go much into the setup or install, but feel free to ask if you have questions about it. Note, you don't have to use all three of these. Any one will produce a valid signed TXN for broadcast. I just showed how to do it three ways. Whats more some of the Electrum and HWI steps are interchangeable.
ColdCard also has a utility called ckcc that will do the sign operation instead of HWI, but in many ways they are interchangeable. KeepKey and Ledger both have libraries for scripted signing but no one-shot, one-line console apps that I know of. But HWI and Electrum of course work on all four.

TrezorCTL

This is the what most would think of to use to craft and sign TXNs, and is definitely very simple. The signing uses a script called build_tx.py to create a JSON file that is then used by the btc sign-tx command. The whole process is basically:
  1. tools/build_tx.py | trezorctl btc sign-tx -
This just means, take the output of build_tx and sign it. To copy 43d27...1fc06, I wrote a small script to feed build_tx, so my process looks like:
  1. ~/input.sh | tools/build_tx.py | trezorctl btc sign-tx -
But it's all very simple. Note... I used TrezorCTL v0.12.2 but build_tx.py version 0.13.0 1.

input.sh

```

!/bin/bash

secho() { sleep 1; echo $*}
secho "Testnet" # coin name secho "tbtc1.trezor.io" # blockbook server and outpoint (below) secho "e294c4c172c3d87991b0369e45d6af8584be92914d01e3060fad1ed31d12ff00:0" secho "m/84'/1'/0'/0/0" # prev_out derivation to signing key secho "4294967293" # Sequence for RBF; hex(-3) secho "segwit" # Signature type on prev_out to use secho "" # NACK to progress to outs secho "2MsiAgG5LVDmnmJUPnYaCeQnARWGbGSVnr3" # out[0].addr secho "10000000" # out[1].amt secho "tb1q9l0rk0gkgn73d0gc57qn3t3cwvucaj3h8wtrlu" # out[1].addr secho "20000000" # out[1].amt secho "tb1qejqxwzfld7zr6mf7ygqy5s5se5xq7vmt96jk9x" # out[2].addr secho "99999694" # out[2].amt secho "" # NACK to progress to change secho "" # NACK to skip change secho "2" # txn.version secho "0" # txn.locktime ```

Electrum

Electrum is one of the better GUI wallets available, but it also has a pretty good console interface. Like before you need your Trezor with the SLIP-14 wallet loaded and paired to Electrum. I'll assume Electrum is up and running with the Trezor wallet loaded to make things simple.
Like with TrezorCTL, Electrum feeds on a JSON file, but unlike TrezorCTL it needs that JSON squished into the command line. This is a simple sed command, but I won't bore you with the details, but just assume that's done. So the process in Electrum (v4.0.3) looks like:
  1. electrum serialize (create psbt to sign)
  2. electrum --wallet signtransaction (sign said psbt)
Still pretty simple right! Below is the JSON I smushed for #1

txn.json

{ "inputs": [{ "prevout_hash":"e294c4c172c3d87991b0369e45d6af8584be92914d01e3060fad1ed31d12ff00", "prevout_n": 0, "value_sats": 129999867 }], "outputs": [{ "address": "2MsiAgG5LVDmnmJUPnYaCeQnARWGbGSVnr3", "value_sats": 10000000 },{ "address": "tb1q9l0rk0gkgn73d0gc57qn3t3cwvucaj3h8wtrlu", "value_sats": 20000000 },{ "address": "tb1qejqxwzfld7zr6mf7ygqy5s5se5xq7vmt96jk9x", "value_sats": 99999694 }]}

HWI

HWI is an unsung hero in my book. It's a very small clean and simple interface between HW wallets and Bitcoin Core. It currently supports a good range of HW wallets. It keeps itself narrowly focused on TXN signing and offloads most everything else to Bitcoin Core. Again, I'll assume you've imported your Trezor keypool into Core and done the requisite IBD and rescan. And if you don't have the RPC enabled, you can always clone these commands into the QT-console.
To sign our TXN in HWI (v1.1.2), we will first need to craft (and finalize) it in Bitcoin Core (0.21.1). Like in Electrum, we will have to use simple sed to smush some JSON into command arguments, but I'll assume you have that covered. It will take an inputs.json and an outputs.json named separately.
  1. bitcoin-cli createpsbt (create psbt)
  2. bitcoin-cli -rpcwallet= walletprocesspsbt (process psbt)
  3. hwi -f signtx (sign psbt)
  4. bitcoin-cli -rpcwallet= finalizepsbt (get a signed TXN from psbt)
A little more involved, but still nothing too bad. Plus this gives you the full power of Bitcoin Core including integrations with LND (lightning).

inputs.json

[{ "txid": "e294c4c172c3d87991b0369e45d6af8584be92914d01e3060fad1ed31d12ff00", "vout": 0 }]

outputs.json

[{ "2MsiAgG5LVDmnmJUPnYaCeQnARWGbGSVnr3": 0.10000000 },{ "tb1q9l0rk0gkgn73d0gc57qn3t3cwvucaj3h8wtrlu": 0.20000000 },{ "tb1qejqxwzfld7zr6mf7ygqy5s5se5xq7vmt96jk9x": 0.99999694 }]

Conclusion

This may all seem like very low level coding, but is surprisingly simple once you get a knack for it. Whats more, all these platforms support testnet which allows you to practice with valueless coins until you get the hang of it. And, like many things in bitcoin, this is all (mostly) python, which is one of the easier languages to learn.
Enjoy
Footnotes
1 - https://github.com/trezotrezor-firmware/issues/1296
submitted by brianddk to Bitcoin [link] [comments]

Power of the Command Line (bitcoin-cli, hwi, electrum, trezorctl)

I think some of the console tools available with HW wallets today are greatly under utilized. Here's a quick write-up on how to create and sign a TXN very similar to 43d27...1fc06 found on the SLIP-14 wallet. I'll be using TrezorCTL, Electrum, and HWI for the signing. I won't go much into the setup or install, but feel free to ask if you have questions about it. Note, you don't have to use all three of these. Any one will produce a valid signed TXN for broadcast. I just showed how to do it three ways. Whats more some of the Electrum and HWI steps are interchangeable.

TrezorCTL

This is the what most would think of to use to craft and sign TXNs, and is definitely very simple. The signing uses a script called build_tx.py to create a JSON file that is then used by the btc sign-tx command. The whole process is basically:
  1. tools/build_tx.py | trezorctl btc sign-tx -
This just means, take the output of build_tx and sign it. To copy 43d27...1fc06, I wrote a small script to feed build_tx, so my process looks like:
  1. ~/input.sh | tools/build_tx.py | trezorctl btc sign-tx -
But it's all very simple. Note... I used TrezorCTL v0.12.2 but build_tx.py version 0.13.0 1.

input.sh

```

!/bin/bash

secho() { sleep 1; echo $*}
secho "Testnet" # coin name secho "tbtc1.trezor.io" # blockbook server and outpoint (below) secho "e294c4c172c3d87991b0369e45d6af8584be92914d01e3060fad1ed31d12ff00:0" secho "m/84'/1'/0'/0/0" # prev_out derivation to signing key secho "4294967293" # Sequence for RBF; hex(-3) secho "segwit" # Signature type on prev_out to use secho "" # NACK to progress to outs secho "2MsiAgG5LVDmnmJUPnYaCeQnARWGbGSVnr3" # out[0].addr secho "10000000" # out[1].amt secho "tb1q9l0rk0gkgn73d0gc57qn3t3cwvucaj3h8wtrlu" # out[1].addr secho "20000000" # out[1].amt secho "tb1qejqxwzfld7zr6mf7ygqy5s5se5xq7vmt96jk9x" # out[2].addr secho "99999694" # out[2].amt secho "" # NACK to progress to change secho "" # NACK to skip change secho "2" # txn.version secho "0" # txn.locktime ```

Electrum

Electrum is one of the better GUI wallets available, but it also has a pretty good console interface. Like before you need your Trezor with the SLIP-14 wallet loaded and paired to Electrum. I'll assume Electrum is up and running with the Trezor wallet loaded to make things simple.
Like with TrezorCTL, Electrum feeds on a JSON file, but unlike TrezorCTL it needs that JSON squished into the command line. This is a simple sed command, but I won't bore you with the details, but just assume that's done. So the process in Electrum (v4.0.3) looks like:
  1. electrum serialize (create psbt to sign)
  2. electrum --wallet signtransaction (sign said psbt)
Still pretty simple right! Below is the JSON I smushed for #1

txn.json

{ "inputs": [{ "prevout_hash":"e294c4c172c3d87991b0369e45d6af8584be92914d01e3060fad1ed31d12ff00", "prevout_n": 0, "value_sats": 129999867 }], "outputs": [{ "address": "2MsiAgG5LVDmnmJUPnYaCeQnARWGbGSVnr3", "value_sats": 10000000 },{ "address": "tb1q9l0rk0gkgn73d0gc57qn3t3cwvucaj3h8wtrlu", "value_sats": 20000000 },{ "address": "tb1qejqxwzfld7zr6mf7ygqy5s5se5xq7vmt96jk9x", "value_sats": 99999694 }]}

HWI

HWI is an unsung hero in my book. It's a very small clean and simple interface between HW wallets and Bitcoin Core. It currently supports a good range of HW wallets. It keeps itself narrowly focused on TXN signing and offloads most everything else to Bitcoin Core. Again, I'll assume you've imported your Trezor keypool into Core and done the requisite IBD and rescan. And if you don't have the RPC enabled, you can always clone these commands into the QT-console.
To sign our TXN in HWI (v1.1.2), we will first need to craft (and finalize) it in Bitcoin Core (0.21.1). Like in Electrum, we will have to use simple sed to smush some JSON into command arguments, but I'll assume you have that covered. It will take an inputs.json and an outputs.json named separately.
  1. bitcoin-cli createpsbt (create psbt)
  2. bitcoin-cli -rpcwallet= walletprocesspsbt (process psbt)
  3. hwi -f signtx (sign psbt)
  4. bitcoin-cli -rpcwallet= finalizepsbt (get a signed TXN from psbt)
A little more involved, but still nothing too bad. Plus this gives you the full power of Bitcoin Core including integrations with LND (lightning).

inputs.json

[{ "txid": "e294c4c172c3d87991b0369e45d6af8584be92914d01e3060fad1ed31d12ff00", "vout": 0 }]

outputs.json

[{ "2MsiAgG5LVDmnmJUPnYaCeQnARWGbGSVnr3": 0.10000000 },{ "tb1q9l0rk0gkgn73d0gc57qn3t3cwvucaj3h8wtrlu": 0.20000000 },{ "tb1qejqxwzfld7zr6mf7ygqy5s5se5xq7vmt96jk9x": 0.99999694 }]

Conclusion

This may all seem like very low level coding, but is surprisingly simple once you get a knack for it. Whats more, all these platforms support testnet which allows you to practice with valueless coins until you get the hang of it. And, like many things in bitcoin, this is all (mostly) python, which is one of the easier languages to learn.
Enjoy
Footnotes
1 - https://github.com/trezotrezor-firmware/issues/1296
submitted by brianddk to TREZOR [link] [comments]

Groestlcoin 6th Anniversary Release

Introduction

Dear Groestlers, it goes without saying that 2020 has been a difficult time for millions of people worldwide. The groestlcoin team would like to take this opportunity to wish everyone our best to everyone coping with the direct and indirect effects of COVID-19. Let it bring out the best in us all and show that collectively, we can conquer anything.
The centralised banks and our national governments are facing unprecedented times with interest rates worldwide dropping to record lows in places. Rest assured that this can only strengthen the fundamentals of all decentralised cryptocurrencies and the vision that was seeded with Satoshi's Bitcoin whitepaper over 10 years ago. Despite everything that has been thrown at us this year, the show must go on and the team will still progress and advance to continue the momentum that we have developed over the past 6 years.
In addition to this, we'd like to remind you all that this is Groestlcoin's 6th Birthday release! In terms of price there have been some crazy highs and lows over the years (with highs of around $2.60 and lows of $0.000077!), but in terms of value– Groestlcoin just keeps getting more valuable! In these uncertain times, one thing remains clear – Groestlcoin will keep going and keep innovating regardless. On with what has been worked on and completed over the past few months.

UPDATED - Groestlcoin Core 2.18.2

This is a major release of Groestlcoin Core with many protocol level improvements and code optimizations, featuring the technical equivalent of Bitcoin v0.18.2 but with Groestlcoin-specific patches. On a general level, most of what is new is a new 'Groestlcoin-wallet' tool which is now distributed alongside Groestlcoin Core's other executables.
NOTE: The 'Account' API has been removed from this version which was typically used in some tip bots. Please ensure you check the release notes from 2.17.2 for details on replacing this functionality.

How to Upgrade?

Windows
If you are running an older version, shut it down. Wait until it has completely shut down (which might take a few minutes for older versions), then run the installer.
OSX
If you are running an older version, shut it down. Wait until it has completely shut down (which might take a few minutes for older versions), run the dmg and drag Groestlcoin Core to Applications.
Ubuntu
http://groestlcoin.org/forum/index.php?topic=441.0

Other Linux

http://groestlcoin.org/forum/index.php?topic=97.0

Download

Download the Windows Installer (64 bit) here
Download the Windows Installer (32 bit) here
Download the Windows binaries (64 bit) here
Download the Windows binaries (32 bit) here
Download the OSX Installer here
Download the OSX binaries here
Download the Linux binaries (64 bit) here
Download the Linux binaries (32 bit) here
Download the ARM Linux binaries (64 bit) here
Download the ARM Linux binaries (32 bit) here

Source

ALL NEW - Groestlcoin Moonshine iOS/Android Wallet

Built with React Native, Moonshine utilizes Electrum-GRS's JSON-RPC methods to interact with the Groestlcoin network.
GRS Moonshine's intended use is as a hot wallet. Meaning, your keys are only as safe as the device you install this wallet on. As with any hot wallet, please ensure that you keep only a small, responsible amount of Groestlcoin on it at any given time.

Features

Download

iOS
Android

Source

ALL NEW! – HODL GRS Android Wallet

HODL GRS connects directly to the Groestlcoin network using SPV mode and doesn't rely on servers that can be hacked or disabled.
HODL GRS utilizes AES hardware encryption, app sandboxing, and the latest security features to protect users from malware, browser security holes, and even physical theft. Private keys are stored only in the secure enclave of the user's phone, inaccessible to anyone other than the user.
Simplicity and ease-of-use is the core design principle of HODL GRS. A simple recovery phrase (which we call a Backup Recovery Key) is all that is needed to restore the user's wallet if they ever lose or replace their device. HODL GRS is deterministic, which means the user's balance and transaction history can be recovered just from the backup recovery key.

Features

Download

Main Release (Main Net)
Testnet Release

Source

ALL NEW! – GroestlcoinSeed Savior

Groestlcoin Seed Savior is a tool for recovering BIP39 seed phrases.
This tool is meant to help users with recovering a slightly incorrect Groestlcoin mnemonic phrase (AKA backup or seed). You can enter an existing BIP39 mnemonic and get derived addresses in various formats.
To find out if one of the suggested addresses is the right one, you can click on the suggested address to check the address' transaction history on a block explorer.

Features

Live Version (Not Recommended)

https://www.groestlcoin.org/recovery/

Download

https://github.com/Groestlcoin/mnemonic-recovery/archive/master.zip

Source

ALL NEW! – Vanity Search Vanity Address Generator

NOTE: NVidia GPU or any CPU only. AMD graphics cards will not work with this address generator.
VanitySearch is a command-line Segwit-capable vanity Groestlcoin address generator. Add unique flair when you tell people to send Groestlcoin. Alternatively, VanitySearch can be used to generate random addresses offline.
If you're tired of the random, cryptic addresses generated by regular groestlcoin clients, then VanitySearch is the right choice for you to create a more personalized address.
VanitySearch is a groestlcoin address prefix finder. If you want to generate safe private keys, use the -s option to enter your passphrase which will be used for generating a base key as for BIP38 standard (VanitySearch.exe -s "My PassPhrase" FXPref). You can also use VanitySearch.exe -ps "My PassPhrase" which will add a crypto secure seed to your passphrase.
VanitySearch may not compute a good grid size for your GPU, so try different values using -g option in order to get the best performances. If you want to use GPUs and CPUs together, you may have best performances by keeping one CPU core for handling GPU(s)/CPU exchanges (use -t option to set the number of CPU threads).

Features

Usage

https://github.com/Groestlcoin/VanitySearch#usage

Download

Source

ALL NEW! – Groestlcoin EasyVanity 2020

Groestlcoin EasyVanity 2020 is a windows app built from the ground-up and makes it easier than ever before to create your very own bespoke bech32 address(es) when whilst not connected to the internet.
If you're tired of the random, cryptic bech32 addresses generated by regular Groestlcoin clients, then Groestlcoin EasyVanity2020 is the right choice for you to create a more personalised bech32 address. This 2020 version uses the new VanitySearch to generate not only legacy addresses (F prefix) but also Bech32 addresses (grs1 prefix).

Features

Download

Source

Remastered! – Groestlcoin WPF Desktop Wallet (v2.19.0.18)

Groestlcoin WPF is an alternative full node client with optional lightweight 'thin-client' mode based on WPF. Windows Presentation Foundation (WPF) is one of Microsoft's latest approaches to a GUI framework, used with the .NET framework. Its main advantages over the original Groestlcoin client include support for exporting blockchain.dat and including a lite wallet mode.
This wallet was previously deprecated but has been brought back to life with modern standards.

Features

Remastered Improvements

Download

Source

ALL NEW! – BIP39 Key Tool

Groestlcoin BIP39 Key Tool is a GUI interface for generating Groestlcoin public and private keys. It is a standalone tool which can be used offline.

Features

Download

Windows
Linux :
 pip3 install -r requirements.txt python3 bip39\_gui.py 

Source

ALL NEW! – Electrum Personal Server

Groestlcoin Electrum Personal Server aims to make using Electrum Groestlcoin wallet more secure and more private. It makes it easy to connect your Electrum-GRS wallet to your own full node.
It is an implementation of the Electrum-grs server protocol which fulfils the specific need of using the Electrum-grs wallet backed by a full node, but without the heavyweight server backend, for a single user. It allows the user to benefit from all Groestlcoin Core's resource-saving features like pruning, blocks only and disabled txindex. All Electrum-GRS's feature-richness like hardware wallet integration, multi-signature wallets, offline signing, seed recovery phrases, coin control and so on can still be used, but connected only to the user's own full node.
Full node wallets are important in Groestlcoin because they are a big part of what makes the system be trust-less. No longer do people have to trust a financial institution like a bank or PayPal, they can run software on their own computers. If Groestlcoin is digital gold, then a full node wallet is your own personal goldsmith who checks for you that received payments are genuine.
Full node wallets are also important for privacy. Using Electrum-GRS under default configuration requires it to send (hashes of) all your Groestlcoin addresses to some server. That server can then easily spy on your transactions. Full node wallets like Groestlcoin Electrum Personal Server would download the entire blockchain and scan it for the user's own addresses, and therefore don't reveal to anyone else which Groestlcoin addresses they are interested in.
Groestlcoin Electrum Personal Server can also broadcast transactions through Tor which improves privacy by resisting traffic analysis for broadcasted transactions which can link the IP address of the user to the transaction. If enabled this would happen transparently whenever the user simply clicks "Send" on a transaction in Electrum-grs wallet.
Note: Currently Groestlcoin Electrum Personal Server can only accept one connection at a time.

Features

Download

Windows
Linux / OSX (Instructions)

Source

UPDATED – Android Wallet 7.38.1 - Main Net + Test Net

The app allows you to send and receive Groestlcoin on your device using QR codes and URI links.
When using this app, please back up your wallet and email them to yourself! This will save your wallet in a password protected file. Then your coins can be retrieved even if you lose your phone.

Changes

Download

Main Net
Main Net (FDroid)
Test Net

Source

UPDATED – Groestlcoin Sentinel 3.5.06 (Android)

Groestlcoin Sentinel is a great solution for anyone who wants the convenience and utility of a hot wallet for receiving payments directly into their cold storage (or hardware wallets).
Sentinel accepts XPUB's, YPUB'S, ZPUB's and individual Groestlcoin address. Once added you will be able to view balances, view transactions, and (in the case of XPUB's, YPUB's and ZPUB's) deterministically generate addresses for that wallet.
Groestlcoin Sentinel is a fork of Groestlcoin Samourai Wallet with all spending and transaction building code removed.

Changes

Download

Source

UPDATED – P2Pool Test Net

Changes

Download

Pre-Hosted Testnet P2Pool is available via http://testp2pool.groestlcoin.org:21330/static/

Source

submitted by Yokomoko_Saleen to groestlcoin [link] [comments]

⚡ Lightning Network Megathread ⚡

Last updated 2018-01-29
This post is a collaboration with the Bitcoin community to create a one-stop source for Lightning Network information.
There are still questions in the FAQ that are unanswered, if you know the answer and can provide a source please do so!

⚡What is the Lightning Network? ⚡

Explanations:

Image Explanations:

Specifications / White Papers

Videos

Lightning Network Experts on Reddit

  • starkbot - (Elizabeth Stark - Lightning Labs)
  • roasbeef - (Olaoluwa Osuntokun - Lightning Labs)
  • stile65 - (Alex Akselrod - Lightning Labs)
  • cfromknecht - (Conner Fromknecht - Lightning Labs)
  • RustyReddit - (Rusty Russell - Blockstream)
  • cdecker - (Christian Decker - Blockstream)
  • Dryja - (Tadge Dryja - Digital Currency Initiative)
  • josephpoon - (Joseph Poon)
  • fdrn - (Fabrice Drouin - ACINQ )
  • pmpadiou - (Pierre-Marie Padiou - ACINQ)

Lightning Network Experts on Twitter

  • @starkness - (Elizabeth Stark - Lightning Labs)
  • @roasbeef - (Olaoluwa Osuntokun - Lightning Labs)
  • @stile65 - (Alex Akselrod - Lightning Labs)
  • @bitconner - (Conner Fromknecht - Lightning Labs)
  • @johanth - (Johan Halseth - Lightning Labs)
  • @bvu - (Bryan Vu - Lightning Labs)
  • @rusty_twit - (Rusty Russell - Blockstream)
  • @snyke - (Christian Decker - Blockstream)
  • @JackMallers - (Jack Mallers - Zap)
  • @tdryja - (Tadge Dryja - Digital Currency Initiative)
  • @jcp - (Joseph Poon)
  • @alexbosworth - (Alex Bosworth - yalls.org)

Medium Posts

Learning Resources

Books

Desktop Interfaces

Web Interfaces

Tutorials and resources

Lightning on Testnet

Lightning Wallets

Place a testnet transaction

Altcoin Trading using Lightning

  • ZigZag - Disclaimer You must trust ZigZag to send to Target Address

Lightning on Mainnet

Warning - Testing should be done on Testnet

Atomic Swaps

Developer Documentation and Resources

Lightning implementations

  • LND - Lightning Network Daemon (Golang)
  • eclair - A Scala implementation of the Lightning Network (Scala)
  • c-lightning - A Lightning Network implementation in C
  • lit - Lightning Network node software (Golang)
  • lightning-onion - Onion Routed Micropayments for the Lightning Network (Golang)
  • lightning-integration - Lightning Integration Testing Framework
  • ptarmigan - C++ BOLT-Compliant Lightning Network Implementation [Incomplete]

Libraries

Lightning Network Visualizers/Explorers

Testnet

Mainnet

Payment Processors

  • BTCPay - Next stable version will include Lightning Network

Community

Slack

IRC

Slack Channel

Discord Channel

Miscellaneous

⚡ Lightning FAQs ⚡

If you can answer please PM me and include source if possible. Feel free to help keep these answers up to date and as brief but correct as possible
Is Lightning Bitcoin?
Yes. You pick a peer and after some setup, create a bitcoin transaction to fund the lightning channel; it’ll then take another transaction to close it and release your funds. You and your peer always hold a bitcoin transaction to get your funds whenever you want: just broadcast to the blockchain like normal. In other words, you and your peer create a shared account, and then use Lightning to securely negotiate who gets how much from that shared account, without waiting for the bitcoin blockchain.
Is the Lightning Network open source?
Yes, Lightning is open source. Anyone can review the code (in the same way as the bitcoin code)
Who owns and controls the Lightning Network?
Similar to the bitcoin network, no one will ever own or control the Lightning Network. The code is open source and free for anyone to download and review. Anyone can run a node and be part of the network.
I’ve heard that Lightning transactions are happening “off-chain”…Does that mean that my bitcoin will be removed from the blockchain?
No, your bitcoin will never leave the blockchain. Instead your bitcoin will be held in a multi-signature address as long as your channel stays open. When the channel is closed; the final transaction will be added to the blockchain. “Off-chain” is not a perfect term, but it is used due to the fact that the transfer of ownership is no longer reflected on the blockchain until the channel is closed.
Do I need a constant connection to run a lightning node?
Not necessarily,
Example: A and B have a channel. 1 BTC each. A sends B 0.5 BTC. B sends back 0.25 BTC. Balance should be A = 0.75, B = 1.25. If A gets disconnected, B can publish the first Tx where the balance was A = 0.5 and B = 1.5. If the node B does in fact attempt to cheat by publishing an old state (such as the A=0.5 and B=1.5 state), this cheat can then be detected on-chain and used to steal the cheaters funds, i.e., A can see the closing transaction, notice it's an old one and grab all funds in the channel (A=2, B=0). The time that A has in order to react to the cheating counterparty is given by the CheckLockTimeVerify (CLTV) in the cheating transaction, which is adjustable. So if A foresees that it'll be able to check in about once every 24 hours it'll require that the CLTV is at least that large, if it's once a week then that's fine too. You definitely do not need to be online and watching the chain 24/7, just make sure to check in once in a while before the CLTV expires. Alternatively you can outsource the watch duties, in order to keep the CLTV timeouts low. This can be achieved both with trusted third parties or untrusted ones (watchtowers). In the case of a unilateral close, e.g., you just go offline and never come back, the other endpoint will have to wait for that timeout to expire to get its funds back. So peers might not accept channels with extremely high CLTV timeouts. -- Source
What Are Lightning’s Advantages?
Tiny payments are possible: since fees are proportional to the payment amount, you can pay a fraction of a cent; accounting is even done in thousandths of a satoshi. Payments are settled instantly: the money is sent in the time it takes to cross the network to your destination and back, typically a fraction of a second.
Does Lightning require Segregated Witness?
Yes, but not in theory. You could make a poorer lightning network without it, which has higher risks when establishing channels (you might have to wait a month if things go wrong!), has limited channel lifetime, longer minimum payment expiry times on each hop, is less efficient and has less robust outsourcing. The entire spec as written today assumes segregated witness, as it solves all these problems.
Can I Send Funds From Lightning to a Normal Bitcoin Address?
No, for now. For the first version of the protocol, if you wanted to send a normal bitcoin transaction using your channel, you have to close it, send the funds, then reopen the channel (3 transactions). In future versions, you and your peer would agree to spend out of your lightning channel funds just like a normal bitcoin payment, allowing you to use your lightning wallet like a normal bitcoin wallet.
Can I Make Money Running a Lightning Node?
Not really. Anyone can set up a node, and so it’s a race to the bottom on fees. In practice, we may see the network use a nominal fee and not change very much, which only provides an incremental incentive to route on a node you’re going to use yourself, and not enough to run one merely for fees. Having clients use criteria other than fees (e.g. randomness, diversity) in route selection will also help this.
What is the release date for Lightning on Mainnet?
Lightning is already being tested on the Mainnet Twitter Link but as for a specific date, Jameson Lopp says it best
Would there be any KYC/AML issues with certain nodes?
Nope, because there is no custody ever involved. It's just like forwarding packets. -- Source
What is the delay time for the recipient of a transaction receiving confirmation?
Furthermore, the Lightning Network scales not with the transaction throughput of the underlying blockchain, but with modern data processing and latency limits - payments can be made nearly as quickly as packets can be sent. -- Source
How does the lightning network prevent centralization?
Bitcoin Stack Exchange Answer
What are Channel Factories and how do they work?
Bitcoin Stack Exchange Answer
How does the Lightning network work in simple terms?
Bitcoin Stack Exchange Answer
How are paths found in Lightning Network?
Bitcoin Stack Exchange Answer
How would the lightning network work between exchanges?
Each exchange will get to decide and need to implement the software into their system, but some ideas have been outlined here: Google Doc - Lightning Exchanges
Note that by virtue of the usual benefits of cost-less, instantaneous transactions, lightning will make arbitrage between exchanges much more efficient and thus lead to consistent pricing across exchange that adopt it. -- Source
How do lightning nodes find other lightning nodes?
Stack Exchange Answer
Does every user need to store the state of the complete Lightning Network?
According to Rusty's calculations we should be able to store 1 million nodes in about 100 MB, so that should work even for mobile phones. Beyond that we have some proposals ready to lighten the load on endpoints, but we'll cross that bridge when we get there. -- Source
Would I need to download the complete state every time I open the App and make a payment?
No you'd remember the information from the last time you started the app and only sync the differences. This is not yet implemented, but it shouldn't be too hard to get a preliminary protocol working if that turns out to be a problem. -- Source
What needs to happen for the Lightning Network to be deployed and what can I do as a user to help?
Lightning is based on participants in the network running lightning node software that enables them to interact with other nodes. This does not require being a full bitcoin node, but you will have to run "lnd", "eclair", or one of the other node softwares listed above.
All lightning wallets have node software integrated into them, because that is necessary to create payment channels and conduct payments on the network, but you can also intentionally run lnd or similar for public benefit - e.g. you can hold open payment channels or channels with higher volume, than you need for your own transactions. You would be compensated in modest fees by those who transact across your node with multi-hop payments. -- Source
Is there anyway for someone who isn't a developer to meaningfully contribute?
Sure, you can help write up educational material. You can learn and read more about the tech at http://dev.lightning.community/resources. You can test the various desktop and mobile apps out there (Lightning Desktop, Zap, Eclair apps). -- Source
Do I need to be a miner to be a Lightning Network node?
No -- Source
Do I need to run a full Bitcoin node to run a lightning node?
lit doesn't depend on having your own full node -- it automatically connects to full nodes on the network. -- Source
LND uses a light client mode, so it doesn't require a full node. The name of the light client it uses is called neutrino
How does the lightning network stop "Cheating" (Someone broadcasting an old transaction)?
Upon opening a channel, the two endpoints first agree on a reserve value, below which the channel balance may not drop. This is to make sure that both endpoints always have some skin in the game as rustyreddit puts it :-)
For a cheat to become worth it, the opponent has to be absolutely sure that you cannot retaliate against him during the timeout. So he has to make sure you never ever get network connectivity during that time. Having someone else also watching for channel closures and notifying you, or releasing a canned retaliation, makes this even harder for the attacker. This is because if he misjudged you being truly offline you can retaliate by grabbing all of its funds. Spotty connections, DDoS, and similar will not provide the attacker the necessary guarantees to make cheating worthwhile. Any form of uncertainty about your online status acts as a deterrent to the other endpoint. -- Source
How many times would someone need to open and close their lightning channels?
You typically want to have more than one channel open at any given time for redundancy's sake. And we imagine open and close will probably be automated for the most part. In fact we already have a feature in LND called autopilot that can automatically open channels for a user.
Frequency will depend whether the funds are needed on-chain or more useful on LN. -- Source
Will the lightning network reduce BTC Liquidity due to "locking-up" funds in channels?
Stack Exchange Answer
Can the Lightning Network work on any other cryptocurrency? How?
Stack Exchange Answer
When setting up a Lightning Network Node are fees set for the entire node, or each channel when opened?
You don't really set up a "node" in the sense that anyone with more than one channel can automatically be a node and route payments. Fees on LN can be set by the node, and can change dynamically on the network. -- Source
Can Lightning routing fees be changed dynamically, without closing channels?
Yes but it has to be implemented in the Lightning software being used. -- Source
How can you make sure that there will be routes with large enough balances to handle transactions?
You won't have to do anything. With autopilot enabled, it'll automatically open and close channels based on the availability of the network. -- Source
How does the Lightning Network stop flooding nodes (DDoS) with micro transactions? Is this even an issue?
Stack Exchange Answer

Unanswered Questions

How do on-chain fees work when opening and closing channels? Who pays the fee?
How does the Lightning Network work for mobile users?
What are the best practices for securing a lightning node?
What is a lightning "hub"?
How does lightning handle cross chain (Atomic) swaps?

Special Thanks and Notes

  • Many links found from awesome-lightning-network github
  • Everyone who submitted a question or concern!
  • I'm continuing to format for an easier Mobile experience!
submitted by codedaway to Bitcoin [link] [comments]

Weekly Dev Update #19

THORChain Weekly Dev Update for Week 19–02 Nov 2019

Overview

1 Rune Fee

Reasoning about gas costs on networks with non-deterministic fee schedules (such as Bitcoin) becomes unnecessarily complex. The issue is that the final gas cost cannot be known ahead of time so the system must cover any variability in the gas cost so that the user can be charged a flat rate. If the user is not charged anything, then the system can be depleted of funds, passing the cost back to stakers. Additionally, swaps below 1 Rune bring negligible economic value to the network and saturate the mempool with low value transactions. As such the solution is to charge a flat 1 Rune fee (or 1 Rune equivalent) on all outgoing transactions (swap and withdrawals). This 1 Rune fee is moved into the Protocol Reserve and increases the network’s future income. When the nodes report on the final transaction, they include the observed transaction fee. This transaction fee is then reimbursed back to the pool that paid for it ( BNB.BNB, BTC.BTC, ETH.ETH etc). There are cases that the outgoing transaction fee may exceed 1 Rune (Bitcoin in high use), but more than likely 1 Rune will be more than sufficient to cover the costs and ensure the network grows its reserves. Additionally, it sets a floor on the minimum transaction that the network will process. A swap of less than 1 Rune will end up becoming a donation to the network.

THORChain Development

The team are working on 4 parallel streams of effort. Cross-chain infrastructure has now been merged into a single repo called “THORNode”. * THORChain * Midgard Public API * Threshold Signature Scheme implementation * Front-end Integration for BEPSwap

THORChain

Much work has been done to refactor and clean up the codebase which will make public audits easier. This includes splitting up the keeper, separating out the events module and more. Smoke tests have been fully-integrated into the test schedule. Safer subtraction and division methods were added to prevent the likelihood of panic events. * [refactor] split keeper funcs/interface into separate files * [tests] use gow * [refactor] Redo how get key works in keeper * [security] require no signers on tx ins * Resolve “ADD: 1 Rune Fee on all Swaps” * [bug] fix smoke tests * [ADD] semantic versioning * [Refactor] Keeper chains * [Refactor] Events Keeper * Resolve “Adds a SafeSub method” * [Refactor] Last Height Keeper * [Refactor] keeper liquidity fees * FIX: Issue 208 * [ISSUE] Get smoke tests to 100%

Midgard Public API

Midgard is now ready for integration into the FrontEnd. The manner in which USD price of assets in now updated to source only from internal pool pricing. This includes BNB.BUSD, BNB.TUSD, BNB.USDS. ROI endpoints are now added. * Fix : Updated our mock data to include a correct BNB address. * Add: Return the date a staker first staked. * Add: Previously missing implementations for pool data (24hr and 12m). * Fix: Several potential query issues. Updates to return the TX date as a UNIX timestamp. * Fix: Additional query updates/fixes. * Fix: Build system * Add: Filtering implementation for TxID and Asset. * Added missing import. * Fix/build issues * Fixed issue with my auto refactor * Add: Filtering updates. DB Config fix. * Add: Missing Staker methods for ROI and earnings. * Added fix to enabled timescale extension * Fix: Added build config for rpc_host * Add: Support to Calculate USD price of an asset. * Added: Health check for mainnet to test that we still have a db connection… * Add: Tests for the recent endpoints work. * jq syntax fix. * Additional jq fixes. * [ADD] Manage docker image on gitlab

Threshold Signature Scheme

The Binance Go TSS library is now fully implemented and deploys in a four-node chain. integrate with new go-tss * 212-issue export private key thus we can use it to start tss * 214-issue consolidate tss keygen and tss keysign config, with our new go-tss… * [ADD] Setup go-tss in genesis docker * [ADD] Have CI run smoke tests on a four node chain with TSS

Frontend Implementation

The frontend makes some final tweaks on the interface, before integrating the Midgard APIs. * Resolve “Update stake page share panel” * Resolve “UPDATE: Network Dropdown Titles” * Resolve “ADD: Sorting of columns in pool list” * Resolve “ADD: Sorting of columns in pool list” * Resolve “FIX: Close token selection drop down when clicking outside” * Resolve “Add redux saga for midgard apis” * Resolve “Update protect price UI” * Resolve “Update wallet drawer”

Timelines

The next milestone is: ChaosNet: 03 January 2020 on-time

Community

To keep up to date, please monitor community channels, particularly Telegram and Twitter: Twitter: https://twitter.com/thorchain_org Telegram Community: https://t.me/thorchain_org Telegram Announcements: https://t.me/thorchain Reddit: https://reddit.com/thorchain Github: https://github.com/thorchain Medium: https://medium.com/thorchain
submitted by thorchain_org to THORChain [link] [comments]

Unitimes AMA | Danger in Blockchain, Data Protection is Necessary

Unitimes AMA | Danger in Blockchain, Data Protection is Necessary
https://preview.redd.it/22zrdwgeg3m31.jpg?width=1280&format=pjpg&auto=webp&s=1370c511afa85ec06cda6843c36aa9289456806d
At 10:30 on September 12, Unitimes held the 40th online AMA about blockchain technologies and applications. We were glad to have Joanes Espanol , CEO and CTO of Amberdata, to share with us on ‘’Danger in Blockchain, Data Protection is Necessary‘’ . The AMA is composed of two parts : Fixed Q&A and Free Q&A. Check out the details below!

Fixed Q&A

  1. Please introduce yourself and Amberdata
Hi everybody, my name is Joanes Espanol and I am co-founder and CTO of Amberdata. Prior to founding Amberdata, I have worked on several large scale ingestion pipelines, distributed systems and analytics platforms, with a focus on infrastructure automation and highly available systems. I am passionate about information retrieval and extracting meaning from data.
Amberdata is a blockchain and digital asset company which combines validated blockchain and market data from the top crypto exchanges into a unified platform and API, enabling customers to operate with confidence and build real-time data-powered applications.
  1. What type of data does the API provide?
The advantage and uniqueness of Amberdata’s API is the combination of blockchain and pricing data together in one API call.
We provide a standardized way to access blockchain data (blocks, transactions, account information, etc) across different blockchain models like UTXO (Bitcoin, Litecoin, Dash, Zcash...) and Account Based (Ethereum...), with contextualized pricing data from the top crypto exchanges in one API call. If you want to build applications on top of different blockchains, you would have to learn the intricacies of each distributed ledgers, run multiple nodes, aggregate the data, etc - instead of spending all that time and money, you can start immediately by using the APIs that we provide.
What can you get access to? Accounts, account-balances, blocks, contracts, internal messages, logs and events, pending transactions, security audits, source code, tokens, token balances, token transfers, token supplies (circulating & total supplies), transactions as well as prices, order books, trades, tickers and best bid and offers for about 2,000 different assets.
One important thing to note is that most of the APIs return validated data that anybody can verify by themselves. Blockchain is all about trust - operating in a hostile and trustless environment, maintaining consensus while continuously under attack, etc - and we want to make sure that we maintain that level of trust, so the API returns all the information that you would need to recalculate Merkle proofs yourself, hence guaranteeing the data was not tampered with and is authentique.
  1. Why is it important to combine blockchain and market data?
Cryptoeconomics plays a key role in the blockchain world. One simple way to explain this is to look at why peer-to-peer file sharing systems like BitTorrent failed. These file sharing protocols were an early form of decentralization, with each node contributing to and participating in this “global sharing computer”. The issue with these protocols is that they relied on the good will of each participant to (re-)share their files - but without economic incentive, or punishment for not following the rules, it opened the door to bad behavior which ultimately led to its demise.
The genius of Satoshi Nakamoto was to combine and improve upon existing decentralized protocols with game theory, to arrive at a consensus protocol able to circumvent the Byzatine’s General Problem. Now participants have incentives to follow the rules (they get financially rewarded for doing so by mining for example, and penalized for misbehaving), which in turn results in a stable system. This was the first time that crypto-economics were used in a working product and this became the base and norm for a lot of the new systems today.
Pricing data is needed as context to blockchain data: there are a lot of (ERC-20) tokens created on Ethereum - it is very easy to clone an existing contract, and configure it with a certain amount of initial tokens (most commonly in the millions and billions in volume). Each token has an intrinsic value, as determined by the law of supply and demand, and as traded on the exchanges. Price fluctuations have an impact on the adoption and usage, meaning on the overall transaction volume (and to a certain extent transaction throughput) on the blockchain.
Blockchain data is needed as context to market data: activity on blockchain can have an impact on market data. For example, one can look at the incoming token transfers in the Ethereum transaction pool and see if there are any impending big transfers for a specific token, which could result in a significant price move on the other end. Being able to detect that kind of movement and act upon it is the kind of signals that traders are looking for. Another example can be found with token supplies: exchanges want to be notified as soon as possible when a token circulating supply changes, as it affects their trading ability, and in the worst case scenario, they would need to halt trading if a token contract gets compromised.
In conclusion, events on the blockchain can influence price, and market events also have an impact on blockchain data: the two are intimately intertwined, and putting them both in context leads to better insights and better decision making.
  1. All the data you provide is publicly available, what gives?
Very true, all this data is publicly available, that is one of the premises and fundamentals of blockchain models, where all the data is public and transparent across all the nodes of the network. The problem is that, even though it is publicly available, it is not quick, not easy and not cheap to access.
Not quick: blockchain data structures were designed and optimized for achieving consensus in a hostile and trustless environment and for internal state management, not for random access and overall search. Imagine you want to list all the transactions that your wallet address has participated in? The only way to do that would be to replay all the transactions from the beginning of time (starting at the genesis block), looking at the to and from addresses and retain only the ones matching your wallet: at over 500 million of transactions as of today, it will take some unacceptable amount of time to retrieve that list for a customer facing application.
Not easy: Some very basic things that one would expect when dealing with financial assets and instruments are actually very difficult to get at, especially when related to tokens. For example, the current Ether balance of a wallet is easy to retrieve in one call to a Geth or Parity client - however, looking at time series of these balances starts to be a little hairy, as not all historical state is kept by these clients, unless you are running a full archive node. Looking at token holdings and balances gets even more complicated, as most of the token transfers are part of the transient state and not kept on chain. Moreover, token transfers and balance changes over time are triggered by different mechanisms (especially when dealing with contract to contract function calls), and detecting these changes accurately is prone to errors.
Not cheap: As mentioned above, most of the historical data and time series metrics are only available via a full archive node, which at the time of writing requires about 3TB of disk space, just to hold all the blockchain state - and remember, this state is in a compressed and not easily accessible format. To convert it to a more searchable format requires much more space. Also, running your own full archive node requires constant care, maintenance and monitoring, which has become very expensive and prohibitive to run.
  1. Who uses your API today and what do they do with it?
A wide variety of applications and projects are using our API, across different industries ranging from wallets and trust funds (DappRadar), to accounting and arbitrage firms (Moremath), including analytics (Stratcoins) and compliance & security companies (Blue Swan). Amberdata’s API is attractive to many different people because it is very complete and fast, and it provides additional data enrichment not available in other APIs, and because of these, it appeals to and fits nicely with our customers use cases:
· It can be used in the traditional REST way to augment your own processes or enrich your own data with hard to get pieces of information. For example, lots of our users retrieve historical information (blocks and transactions) and relay it in their applications to their own customers, while others are more interested in financial data (account & token balances) and time series for portfolio management.
https://medium.com/amberdata/keep-it-dry-use-amberdatas-api-9cdb222a41ba
· Other projects are more in need of real-time up-to-date data, for which we recommend using our websockets, so you can filter out data in real-time and match your exact needs, rather than getting the firehose of information and having to filter out and discard 99% of it.
· We have a few research projects tapping into our API as well. For example, some of our customers want access to historical market data to backtest their trading strategies and fine-tune their own algorithms.
· Our API is also fully Json RPC compliant, meaning some people use it as a drop-in replacement for their own node, or as an alternative to Infura for example. We have some customers using both Amberdata and Infura as their web3 providers, with the benefits of getting additional enriched data when connecting to our API.
· And finally, we have also built an SDK on top of the API itself, so it is easier to integrate into your own application (https://www.npmjs.com/package/web3data-js).
We also have several subscriptions to match your needs. The developer tier is free and gets you access to 90% of all the data. If you are not sure about your usage patterns yet, we recommend the on-demand plan to get started, while for heavy users the professional and enterprise plans would be more adequate - see https://amberdata.io/pricing for more information.
All and all, we try really hard to make it as easy as possible to use for you. We do the heavy lifting, so you don’t have to worry about all the minutia and you can focus on bringing value to your customers. We work very closely with our customers and continuously improve upon and add new features to our API. If something is not supported or you want something that is not in the API, chances are we already have the data, do not hesitate to ask us ;)
  1. Amberdata recently made some headlines for discovering a vulnerability on Parity client. Can you tell us a bit more about it?
This is an interesting one. One of our internal processes flagged a contract, and more specifically the balanceOf(...) call: it was/is taking more than 5 seconds to execute (while typically this call takes only a few milliseconds). While investigating further, we started looking at the debug traces for that contract call and were pretty surprised when a combination of trace_call+vmTrace crashed our Parity node - and not just randomly, the same call would exhibit the exact same behavior each time, and on different Parity nodes. It turns out that this contract is very poorly written, and the implementation of balanceOf(...) keeps on looping over all the holders of the token, which eventually runs out of memory.
Even though this is a pretty severe bug (any/all Parity node(s) can be remotely shutdown with just one small call to its API), in practice the number of nodes at risk is probably small because only operators who have enabled public facing RPC calls (and possibly the ones who have enabled tracing as well) are affected - which are both disabled by default. Kudos to the Parity team for fixing and releasing a patch in less than 24 hours after the bug was reported!
  1. How do you access the data? How do I get started?
We sometimes get the question, “I do not know how to code, can I still use your data?”, and it is possible! We have built a few dashboards on our platform, and you can visualize and monitor different metrics, and get alerts: https://amberdata.io/dashboards/infrastructure.
A good starting point is to use our Postman collection, which is pretty complete and can give you a very good overview of all the capabilities: https://amberdata.io/docs/libraries and https://www.getpostman.com/collections/79afa5bafe91f0e676d6.
For more advanced users, the REST API is where you should start, but as I mentioned earlier, how to access the data depends on your use case: REST, websockets, Json RPC and SDK are the most commonly ways of getting to it. We have a lot of tutorials and code examples available here: https://amberdata.io/docs.
For developers interested in getting access to Amberdata’s blockchain and market data from within their own contract, they can use the Chainlink Oracle contract, which integrates directly with the API:
https://medium.com/amberdata/smart-contract-oracles-with-amberdata-io-358c2c422d8a
  1. Amberdata just recently celebrated 2 years birthday. What is your proudest accomplishment? Any mistake/lesson you would like to share with us?
The blockchain and crypto market is one of the fastest evolving and innovating markets ever, and a very fast paced environment. Having been heads down for two years now, it is sometimes easy to lose sight of the big picture. The journey has been long, but I am happy and proud to see it all come together: we started with blockchain data and monitoring/alerting, added search, validation and derived data (tokens, supplies, etc) along the way, and finally market data to close the loop on all the cryptoeconomics. Seeing the overall engagement from the community around our data is very gratifying: API usage climbing up, more and more pertinent and relevant questions/suggestions on our support channels, other projects like Kadena sending us their own blockchain data so it can be included in Amberdata’s offering… all of these makes me want to do more :)

Free Q&A

---Who are your competitors? What makes you better?
There are a few data providers out there offering similar information as Amberdata. For example, Etherscan has very complete blockchain data for Ethereum, and CoinmarketCap has assets rankings by market cap and some pricing information. We actually did a pretty thorough analysis on the different data providers and they pros and cons:
https://medium.com/amberdata/which-blockchain-data-api-is-right-for-you-3f3758efceb1
What makes Amberdata unique is three folds:
· Combination of blockchain and market data: typically other providers offer one or the other, but not both, and not integrated with each other - with Amberdata, in one API call I can get blockchain and historically accurate pricing data at the same time. We have also standardized access across multiple blockchains, so you get one interface for all and do not have to worry about understanding each and every one of them.
· Validated & verifiable data: we work hard to preserve transparency and trust and are very open about how our metrics are calculated. For example, blockchain data comes with all the pieces needed to recompute the Mekle proofs so the integrity of the data can be verified at any moment. Also, additional metrics like circulating supply are based on tangible and very concrete definitions so anybody can follow and recalculate them by themselves if needed.
· Enriched data: we have spent a lot of time enriching our APIs with (historical) off chain data like token names and symbols, mappings for token addresses and tradable market pairs, etc. At the same time, our APIs are very granular and provide a level of detail that only a few other providers offer, especially with market data (Level 2 with order books across multiple exchanges, Best Bid Offers, etc).
That's all for the 40th AMA. We should like to thank all the community members for their participation and cooperation! Thanks, Joanes!
submitted by Unitimes_ to u/Unitimes_ [link] [comments]

[Transcript] Crypto Zombie Interview With Anonymous Komodo Founder JL777


Crypto Zombie talks about the interview at 13:30 of his video: https://www.youtube.com/watch?v=LTOdWcuuSFA
Link to full text at pages 10 to 15: https://gallery.mailchimp.com/b1c805c050ef6fca080b9d888/files/cf42e52f-5978-4f4e-b45a-241b94af4638/12_BlockchainBrief_November.pdf
-------
CRYPTO ZOMBIE: It is difficult to describe the Komodo Platform in just a few words. Often confused as simply a privacy coin, KMD, is actually an incredibly robust and intricate ecosystem. With Komodo’s unique spin on smart contracts, referred to as “crypto-conditions,” and the fact that KMD has already achieved 45,000 TPS (1,000,000 possible in the near future), this platform may actually be the first crypto to solve all four of blockchain’s major pain-points: privacy, scalability, interoperability, and security. In this much anticipated AMA, I got to chat with the anonymous founder of Komodo, JL777, via the Komodo Discord. Here is what JL777 had to say...

CZ: So let’s jump into this directly with the MOST requested community question: Are you Satoshi Nakamoto?

JL777: Happy to answer questions of a non-personal nature. That seems pretty personal. But I didn’t arrive in crypto until late 2013, so clearly I can’t be Satoshi. Maybe there are a lot of similarities in our beliefs, but he was gone before I arrived.

CZ: Just starting off with some fun! Alright, so all jokes asides let’s dive in. What exactly is Komodo (KMD)?

JL777: It has many different aspects, hard to make a single statement about it. I know this drives the marketing side nuts as they need these elevator pitch things. However, I can explain how it is evolving. It starts with the desired end solution: a crypto that can handle mass market scale, has privacy, is secure, and fast. Given that just getting two of those four usually requires making significant trade-offs to decentralization. You can imagine that it is not an easy problem to solve! So, KMD starts with Zcash privacy: the best available privacy tech. So, we can check that off the list. But, it needs to be secure. So I had to invent the dPoW [consensus] to leverage BTC’s massive hashrate. That allowed us to have a lot of independent chains, all secured by dPoW, which led to the runtime forking ability that lets you launch a chain from the command line without any source code changes. PoW, PoS, some hybrid, all types of premine and emission schedules.

CZ: Could you briefly explain dPoW and why it’s so secure, for those who don’t understand?

JL777: dPoW is dynamically creating decentralized checkpoints to the BTC blockchain. That means that once a block is notarized, it is like having it “write protected.” No need to worry about it being rewritten. Being rewritten is a very real danger!

CZ: So in other words as long as BTC is not under 51% attack it would be impossible for Komodo or any of it’s chains to be affected?

JL777: I wouldn’t say impossible, but it becomes order of magnitude (or more) difficult. I wrote a description of the reorg process and can post it here if you’d like.

CZ: Sure we can link to it for further research. That would be great!

JL777: https://github.com/KomodoPlatform/Mastering_CryptoConditions It directly applies to explaining dPoW. It is from the documentation on the channels CC (Crypto-Conditions), which implements an improved form of Lightning Networks and addresses the latency issue, as it provides dPoW protection to mempool transactions. With the privacy and security items addressed, the next thing to do was scaling. Along the way people kept asking for smart contracts. With the notarization process in place, it enabled us to create a solution that non-notarized chains are unable to do. That is creating a reference set of hashes that allow you to verify that a transaction on any chain has been confirmed, on any other chain. It uses a method that is very similar to SPV validation. It’s all about merkleroots and merkleroots of merkleroots from many different chains all being combined. This is sent back to the notarizer and ends up in the notarization data. Once it’s there, then any notarized chain is able to validate the raw data from a transaction that actually happened on a different chain. What that allows is a burn protocol to burn coins on one chain and recreate them on another. So, the total coins across all of the fungible chains are constant. That means you can have however many chains you need for the transactions per second (TPS) needed. Anytime you need to transfer coins from one chain to the next, you use the burn protocol. Reading it, it does seem pretty deep technical... sorry... I guess it can be summarized as using notarization to create a cluster of chains whose total coin supply is held constant. This forms our scaling solution. Instead of having to create some cutting edge networking protocol that can handle some crazy TPS, with our solution you just spawn a new chain. It is similar to building more roads if your existing roads are congested. No need for any magical maglev vacuum tube high throughput high ways. Just a bunch of normal roads, if you have a bunch of cars... Just a bunch of normal blockchains if you need a bunch of TPS. I much prefer the simple solutions, as I can fully understand those.

CZ: Exactly! Such a simple solution, but yet you still see so many people going crazy over TPS! On the topic of tech, I’m curious what your thoughts are on some of these newer solutions, such as the rise of DAG protocols?

JL777: When it gets so complex and you need some math jargon to prove that it works... well, how can I know that it does? Code isn’t exactly a math proof. I think there are many very interesting experiments. However, I prefer to stick with the tried and true Bitcoin protocol and extend it. Why reinvent the wheel? Especially when so much work has been done already to make Bitcoin work as well as it does. It only breaks down at high load and isn’t very easy to program. Though I did make an atomic swap system called BarterDEX, which does utilize the Bitcoin script.

CZ: Yes! Let’s expand on that! What is the difference between atomic swaps and etomic swaps?

JL777: Etomic swap was just my way of quickly getting ETH into the BarterDEX. BarterDEX uses the Bitcoin protocol to do swaps. ETH doesn’t do Bitcoin protocol so I made an ETOMIC coin and you swap that using the protocol. We implemented a 1:1 lock/unlock of ETH/ERC20 for the ETOMIC. It does add a new layer and with mm2, we will directly implement atomic swaps between ETH and Bitcoin protocol.

CZ: With so many blockchains now switching from ERC-20s to their own mainnets (native blockchains), does this mean that some blockchains will never be interoperable through the BarterDEX? Or do you think it’s a possibility in the future?

JL777: With there being so many totally incompatible new protocols, it seems unlikely that they will interoperate very well and will go off and create their own island. Isolated from the rest of crypto. Maybe some will be very big islands though. Unless they have enough usage on their “island” it would seem it will eventually become a problem...

CZ: This does make you wonder if TRUE interoperability between all blockchains will ever be possible...

JL777: I think if these islands wanted to be interoperable, they can add this, but I suspect some don’t want to be. They maybe have dreams of becoming the only crypto. Which, of course, is an unrealistic expectation when the barrier to create a new crypto is so low. You don’t need a nation state to create a crypto! Even with such a big barrier, we end up with hundreds of fiat currencies. There is no single global currency, so how on earth can anybody truly believe there will be some single crypto? I try to base my decisions on common sense and simplicity. It ends up being quite complex as it is, even if it is created out of simple components. Now that KMD is getting the CC extensions, it completes all the technical requirements. The Crypto Conditions is mainly for the scaling solution, but I started experimenting with it a couple months ago and it started surprising me with its power!

CZ: This is true! I know you have a unique way of handling smart contracts. What are Crypto-Conditions and what makes UTXO-based smart contracts such a breakthrough for the future of blockchain?

JL777: To call it smart contracts is really understating what it is. Consider that it is possible to have a single CC (Crypto-Condition) transaction type mean “run the associated smart contract using the interpreted language.” What the CC does is create a new vout type, like p2pk, p2pkh, p2sh, there is a new CC vout type. This is an output that needs to satisfy the specified CC script, which can handle the industry standard Crypto-Conditions specification. But I had it extended a bit so we can have custom functions that also need to be satisfied. By making it a custom function, it allows essentially anything to be implemented. And by anything, I mean ANYTHING. At first I wasn’t 100% sure of this, but my first four CC extensions I made were: faucet, rewards, dice, and assets. The faucet is a blockchain enforced faucet. Rewards is a blockchain enforced rewards plan. Basically what most people want masternodes for. Lock funds... get some extra percentage. Dice is a blockchain enforced real-time dice game, just to show that such things can be done. Assets is a token creation system that allows a user to create new tokens with a single transaction. I also implemented functions needed for a DEX. So, basically counter-party functionality. These were the first four and I did it in several weeks as I was learning about how to do it and doing them for the first time. My thinking is that after we get a critical mass of CC extensions, the vast majority of dApps can be created just via RPC calls. No need to code a new CC extension, no need to code a smart contract, just issue RPC calls (or just click buttons and forms in a GUI). The next iteration of CC, I came up with oracles, gateways, prices and channels. Oracles creates a market driven data market for “oracle-izing” data on-chain. Gateways uses the oracles and assets to automatically tokenize BTC to an on-chain asset and also allows for automatically process withdraws.
Basically the proxy DEX model of trading BTC equivalents, but it will be protected with a multisig custodians and all the tokens are locked in a contract until released with a valid deposit. The prices CC will use the oracles and gateway CC to implement a cash settled BitMEX type of leveraged betting on the BTC price. The channels CC is being debugged by one of the new devs who just started last week and it will be a better form of Lightning Network, as it uses a backward compatible transaction format, doesn’t require nodes to be online, and is secured by dPoW.

CZ: Thats crazy! Most people really have no idea the Komodo platform is this robust. Komodo seems like it has already achieved so many things: scalability, privacy, interoperability, and security. So why do you feel it often gets overshadowed by newer, more “flashy” tech, that may in fact be inferior?

JL777: I think the problem is that it has too much for any “elevator pitch,” so nobody who makes decisions in elevators decides to buy KMD! I don’t think there is any flashier tech than KMD, considering it solves all the crypto issues that other projects are struggling to do just a couple aspects of, when we can implement the entire value add of some project with a single CC that takes a few weeks to do... If that isn’t flashy, not sure what is!

CZ: So, I recently spoke with PTYX from Chainzilla. Will Komodo platform continue offering services to premiere partners or will you be “passing the torch” over to other Blockchain-as-a-service platforms like Chainzilla?

JL777: I just write code, so no idea what will happen regarding the non-coding side of things. I also don’t do GUI, so no idea when any of that will be done. I am just a simple C programmer. So I write C code to solve the deep tech issues that are otherwise unsolved.

CZ: Gotcha... But you know that’s VERY important, especially for user adoption.

JL777: Ideas by Nature I am trusting will solve the GUI issues. Much, much better than I could. I have to rely on others to get such things done.

CZ: Yes I’m excited to see how that turns out! Let’s discuss adoption. You always hear people speak about “mass adoption,” but what do you feel it will REALLY take in order for this technology to reach the masses?

JL777: Games. Realtime crypto games. That is why I did dice CC. We also have plans for a lotto CC. But, really any sort of game can be made blockchain enforceable now by using the CC tech. And, being UTXO-based, it is much more secure and so far it is much faster to code and debug.

CZ: I’m so glad you said that because I feel games will be a huge proponent as well! Are you guys looking to also be able to deal with non-fungibles? For example ERC-721s?

JL777: Already done. We just need a lot more coders, domain specific CC, to take the reference CC I am making and customizing it into some specific dApp. My role is to show the type of things that can be done, but we really need a big ecosystem with projects doing the various games and specific use case dApps.

CZ: Do you make any decisions outside of just the coding? How does the governance within Komodo work?

JL777: People like to ask me for my opinion, even on things like colors and such things, but I try to stay out of it as much as possible. Let each person with expertise make the decisions. If there is some deadlock, then maybe I let my opinion be known. But, I don’t have any special powers, other than the common sense thing, and people when they hear a good common sense solution to a problem they are battling with, it is usually adopted. But, I stay out of the team meetings and let them do their thing. Things are centralized around me too much as it is, so I try to reduce it as much as possible

CZ: That’s good to know. Seems quite fair. Everyone has a say and anyone can expand on the ecosystem how they see fit to the best of their abilities.

JL777: Yes, totally open community.

CZ: So, this is another community question: What is your relationship with ØCryptoUnion?

JL777: There is no formal relationship. They are working on some sort of gateway project, like several other projects. But, there are dozens of projects in the ecosystem and no formal relationship. This is old style crypto, not the new style corporate. At least that is how I am “managing” the open source side of things. There is a different side, that I am not involved in, so I can’t speak to how things are done there.

CZ: You bring up a good point, however, given the reality that we live in a world that is controlled by few (governments, institutions, etc), do you think a truly decentralized future is realistically possible?

JL777: A much more decentralized future is possible. But, it is also possible for a global totalitarian state. We already are close to a global surveillance state... very dangerous

CZ: I think the biggest problem is getting people to actually CARE. Most people just want the easiest, most convenient thing and often are willing to sacrifice privacy over convenience.

JL777: Well, when it comes to MONEY, people do CARE. Especially in the parts of the world where basic survival is not easy. But yes, privacy has been sacrificed a lot, to the point where people think you must be some sort of extremist if you just want to keep some privacy. But, a lot of writers of novels used pen-names. Nobody went accusing them. When the police can’t be trusted to be fair, then everybody cares about hiding as much as possible, since anything can and will be used against you! And we know we can’t trust criminals, since they ignore the law.. So why advertise to the world who you are?

CZ: I agree. People always say “well if you have nothing to hide, then who cares?” I think thats the wrong attitude. So, before we go I just wanted ask one final question. Ultimately, what is your grand vision for the Komodo Platform and what can we expect in the near future?

L777: Like you said, mass market adoption will need nice GUI. The low level tech in my mind is basically done. We just need to do a bunch more CC, which can, and will be done. Then people can make dApps via RPC calls. So with the easy to use GUI that gets mass market adoption, that achieves the goal of the scalable, secure, private and fast crypto. Likely KMD will be the first to achieve all four and have an atomic DEX to interface with many other cryptos. It has been a long journey, but within a year or so, I think I will become much less important. Things shift into the “GUI-zation” side of things. Maybe I can take a vacation...

CZ: I have no idea how to code but I can only imagine that vacation will be WELL deserved!

JL777: Just imagine writing a novel where if you make ANY mistake it crashes! Not just spelling or grammar, but character development, plot, or any error and BOOM! It’s DEAD!

CZ: Great analogy! Well, thanks so much JL777 for taking time out of your busy schedule to have this chat. You are clearly an intelligent person and I’ve really enjoyed this. There is so much more we could talk about, but unfortunately there is only so much time!

JL777: It was fun to chat! Feel free to stop by the Discord anytime. There is an “Ask-JL777 channel” here. Just post there anytime and I will answer.

submitted by KomodoWorld to komodoplatform [link] [comments]

Soo after almost 3 months of setting up I have my own LN full node running on RP3

Soo after almost 3 months of setting up I have my own LN full node running on RP3
I have been eager to try LN mainnet since the very beginning of it. I've found out about lnd, eclair, zap and other wallets but every scenario I tried to use it failed because of critical issues:
  • eclair does not really constitute a wallet, it's more like a credit card - you can send money but not receive it
  • lnd is okay, but requires a server and tons of resources for maintaining a full node, can't be used securely, efficiently and mobily at the same time
  • zap offers some cloud wallet (in testnet!) by default, this is a serious misunderstanding of my cryptoanarchy needs
  • web wallets - ah, forget it
So I've decided to use my Raspberry Pi with a very old laptop HDD attached (200GB so the pruning function has to be used) to create a backend wallet service and zap desktop (temporarily!) as my frontend control panel.
https://preview.redd.it/0vcq147887q11.png?width=1024&format=png&auto=webp&s=7bb6eccdd4110a857e5af0400acc2d7e1ee7ee85
Setting up Pi is easy, lots of tutorials over the internet, not gonna discuss it here. Then I had to obtain bitcoind (current rel: bitcoin-0.17.0-arm-linux-gnueabihf.tar.gz) and lnd (lnd-linux-armv7-v0.5-beta.tar.gz), create a bitcoin technical user, deploy the tools, configure and install new systemd services and go through the configs. This is a tricky part, so let's share:
# Generated by https://jlopp.github.io/bitcoin-core-config-generato # This config should be placed in following path: # ~/.bitcoin/bitcoin.conf # [core] # Set database cache size in megabytes; machines sync faster with a larger cache. Recommend setting as high as possible based upon machine's available RAM. dbcache=100 # Keep at most  unconnectable transactions in memory. maxorphantx=10 # Keep the transaction memory pool below  megabytes. maxmempool=50 # Reduce storage requirements by only storing most recent N MiB of block. This mode is incompatible with -txindex and -rescan. WARNING: Reverting this setting requires re-downloading the entire blockchain. (default: 0 = disable pruning blocks, 1 = allow manual pruning via RPC, greater than 550 = automatically prune blocks to stay under target size in MiB). prune=153600 # [network] # Maintain at most N connections to peers. maxconnections=40 # Use UPnP to map the listening port. upnp=1 # Tries to keep outbound traffic under the given target (in MiB per 24h), 0 = no limit. maxuploadtarget=5000 # [debug] # Log IP Addresses in debug output. logips=1 # [rpc] # Accept public REST requests. rest=1 # [wallet] # Do not load the wallet and disable wallet RPC calls. disablewallet=1 # [zeromq] # Enable publishing of raw block hex to 
. zmqpubrawblock=tcp://127.0.0.1:28332 # Enable publishing of raw transaction hex to
. zmqpubrawtx=tcp://127.0.0.1:28333 # [rpc] # Accept command line and JSON-RPC commands. server=1 # Username and hashed password for JSON-RPC connections. The field comes in the format: :$. RPC clients connect using rpcuser=/rpcpassword= arguments. You can generate this value with the ./share/rpcauth/rpcauth.py script in the Bitcoin Core repository. This option can be specified multiple times. rpcauth=xxx:yyy$zzz
Whooaa, this online config generator is really helpful, but I still had to manually correct a few things. The last line is obviously generated by rpcauth.py, I disabled the wallet functionality as lnd is going to take care of my funds. ZMQ is not available to the network so only my LND can use it, RPC usage I still have to think through a little, in general I would like to have my own block explorer some day but also be safe from any hacking attempts (thus I would need at least 2 RPC ports/user accounts - one for lnd, one for block explorer frontend). No ports open on firewall at this time, only UPnP is active and gently opens 8333 for block/tx transfers.
Now, synchronizing the blockchain took me time from mid-July to early September... The hard drive is really slow, also my external HDD drive has some trouble with its A/C adapter so Pi was getting undervoltage alerts all the time. Luckily, it is just downclocking when it happens and slowly but steadily synchronized the whole history. After all, I'm not paying even $5 monthly for a VPS, it is by design the cheapest hardware I could use to set up my LN wallet.
When bitcoind was ready (I've heard some stories about btcd but I don't trust this software yet, sorry), it's time to configure lnd.conf:
[Application Options] debuglevel=trace rpclisten=0.0.0.0:10009 externalip=X.X.X.X:9735 listen=0.0.0.0:9735 alias=X color=#XXXXXX [Bitcoin] bitcoin.active=1 bitcoin.mainnet=1 bitcoin.node=bitcoind [Bitcoind] bitcoind.rpchost=127.0.0.1 bitcoind.rpcuser=X bitcoind.rpcpass=X bitcoind.zmqpubrawblock=tcp://127.0.0.1:28332 bitcoind.zmqpubrawtx=tcp://127.0.0.1:28333 
Here I've had to XXX a little more fields, as not only the bitcoind RPC credentials are stored here, but also my node's public information (it should be illegal to run nodes without specifically selected color and alias!). It is public (and I had to open port 9735 on my firewall), but not necessarily connected to my reddit account for most of the adversaries, so let's keep it this way. In fact, I also see a security vulnerability here: my whole node's stability depends on the IP being static. I could swap it for a .tk domain but who can tell if the bad guys won't actively fight DNS system in order to prevent global economic revolution? As such, I would rather see node identification in LN based on a public key only with possible *hints* of last-known-ip-address but the whole discovery should be performed by the nodes themself in a p2p manner, obviously preventing malicious actors from poisoning the network in some way. For now, I consider the IP stability a weak link and will probably have to pay extra Bitcoin TX fees when something happens to it (not much of a cost luckily!).

https://preview.redd.it/hjd1nooo77q11.png?width=741&format=png&auto=webp&s=14214fc36e3edf139faade930f4069fc31a3e883
Okay then, lnd is up and running, had to create a wallet and give it a night for getting up to speed. I don't know really what took it so long, I'm not using Windows nor 'localhost' in the config so the issues like #1027 are not the case. But there are others like #1545 still open so I'm not going to ponder much on this. I haven't really got any idea how to automatically unlock the wallet after Pi restart (could happen any time!), especially since I only tried to unlock it locally with lncli (why would I enter the password anywhere outside that host?), but let's say that my wallet will only be as stable as my cheap hardware. That's okay for the beta phase.
Finally, zap-desktop required me to copy tls.cert and admin.macaroon files to my desktop. If my understanding of macaroon (it's like an authentication cookie, that can later be revoked) is correct then it's not an issue, however it would be nice to have a "$50 daily limit" macaroon file in the future too, just to avoid any big issues when my client machine gets stolen. Thanks to this, I can ignore the silly cloud-based modes and have fully-secure environment of my home network being the only link from me to my money.
https://preview.redd.it/11bw3dgw47q11.png?width=836&format=png&auto=webp&s=b7fa7c88d14f22441cbbfc0db036cddfd7ea8424
Aaand there it is. The IP took some time to advertise, I use 1ml.com to see if my node is there. The zap interface (ZapDesktop-linux-amd64-v0.2.2-beta.deb) lacks lots of useful information so I keep learning lncli syntax to get more data about my new peers or the routes offered. The transactions indeed run fast and are ridiculously cheap. I would really love to run Eclair with the same settings but it doesn't seem to support custom lnd (why?). In fact, since all I need is really a lncli wrapper, maybe it will be easy to write my own (seen some web gui which weighs 700MB after downloading all dependencies with npm - SICK!). Zap for iOS alpha test registration is DOWN so I couldn't try it (and I'm not sure if it allows custom lnd selection), Zap for Android doesn't even exist yet... I made a few demo transactions and now I will explore all those fancy t-shirt stores as long as the prices are still in "early investor" mode - I remember times when one could get 0.001 BTC from a faucet...
https://preview.redd.it/42sdyoce57q11.png?width=836&format=png&auto=webp&s=7ec8917eaf8f3329d51ce3e30e455254027de0ee
If you find any of the facts presented by me false, I am happy to find out more in the discussion. However what I did I did mostly for fun, without paying much attention to the source code, documentation and endless issue lists on github. By no means I claim this tutorial will work for you but I do think I shared the key points and effort estimations to help others decide if they want a full-node LN client too. I'm also interested in some ideas on what to do with it next (rather unlikely that I will share my lnd admin.macaroon with anyone!) especially if it gives me free money. For example, I can open 1000 channels and start earning money from fees, although I no longer have more Bitcoins than the LN capacity yields... I will probably keep updating the software on my Pi until it leaves beta phases and only then will pour more money inside. I'm also keen on improving the general security of my rig and those comments I will answer more seriously.
submitted by pabou to Bitcoin [link] [comments]

jl777 informal Telegram chat 9/AUG/18. Topics include Crypto Condition smart contracts, ERC20 token migration, scaling, and marketing.

TL:DR will be in comments
This is an informal discussion with jl777 and some Komodo team members and the community on Telegram. I've edited some of the grammar and structure, combined shorter messages into paragraphs to help readability, and removed messages that weren't relevant to the discussion or had already been answered. Full text is visible on Komodo telegram, or Komodo Discord (telegram channel)
---
N 21: Mr. Please when smart contracts?
jl777: first four reference contracts are pretty much working now, likely some bug fixes needed but assets, faucet, rewards and dice CC contracts are functional
Firedragon: Ethereum start the year 2017 around 7 dollars, end the year x 200 times at around *1400*, user friendliness leads to giant expansion.
jl777: Sure, no disagreement, but code snippets don’t seem very user friendly. Unless you mean having cartoon characters alongside the code snippets makes it user friendly?
jl777: Having non-coders doing code is dangerous, no matter if it has cartoons.
Firedragon: enables expansion at scale.
jl777: Until you get an actual dApp that is popular and the entire chain bogs down and TX fees goes to $5+
Firedragon: it is dangerous, but once run into problem, will likely seek help, but important, easy to start.
jl777: With the CC contracts, it is a matter to issue rpc calls to start a contract. So it doesn’t require coding, but if your use case isn’t covered by an existing CC contract, then a custom CC contract needs to be written. It is similar to ASIC mining vs CPU mining. More work to make the ASIC, but once created it can do all the related things much more efficiently.
jl777: Assets with DEX, faucet, rewards and dice CC contracts I made in a month. We are in the process of hiring a dedicated CC contracts dev, they are not that much work to code but it does require to be coded and I only did the cli rpc calls, not GUI.
Firedragon: komodo solve the scalability of Cryptokittens that Ethereum bog down with. I believe Ethereum solve the usability issues. if only combine the two.
jl777: Yes, KMD solves the Cryptokitties scalability issue, but someone has to write the Cryptokitties CC contract which is mostly independent of the blockchain as it has the kitty’s DNA logic that seems to be most of it.
Jakub Alex: Jl777 what is your opinion about future price after bear market? What price levels can we expect with komodo? 50-100? 100-200 or more? Are we able to be in top 15 m cap coins?
jl777: Future KMD price depends on overall crypto market cap, if you can predict that, then I can predict a future KMD price. Historically KMD is a bit under 0.1% of overall crypto market cap. Assuming KMD price rises in CMC to top 10 level, then it would be closer to 1% of overall crypto market cap.
jl777: So really, just 2 variables. What overall rank on CMC and the total crypto market cap.
Chris Fray: Staking Is the best way u come back in a year collect your 5% and do it all over again don't panic sell.
jl777: It will be monthly starting very soon.
The Fonz: How many nodes are there currently? Running the network? is there a real time link to a list?
jl777: There is no way to know for sure, I would estimate about 1000
Rubinho: How do you run a node on KMD? Just by staking tokens?
jl777: Running a native wallet, runs a node.
Rubinho: Who is the intended end user for KMD? b2c? b2b? both? what is the state of partnerships?
The Fonz: Minimum KMD required?
Regnar: To run a node? No minimum required, but to earn 5.1% rewards on your balance, you need a minimum of 10 KMD in an address, the simplest way to do this is to store funds in Agama (even the lite mode) and press the claim interest button.
The Fonz: gotcha, thx.
Regnar: Probably best to check out the discord marketing channel for updates and talks on that, telegram generally gets cluttered quickly with other conversations. There are definitely partnerships being worked on, but I think it would be better to wait for official announcements on them, so I won't disclose or help push any rumors there. Here's the link.https://discord.gg/5WtTNKX
Regnar: jl777, I assume ERC20 projects who are looking to migrate off of Ethereum, or launch their main net, would be interested in Komodo as CC becomes more developed. Can you say what that migrating/main net process might look like for those projects?
jl777c: the process would be to get a new chain spawned to test the custom contract with and when it is working,to just migrate the ERC20 snapshot to the new chain. The CC framework is ready to be coded to and devs can create a custom contract embedded in their chain. txfees in their chain, only tx from their dapp on their chain.
Regnar: And I assume before they migrate to their new chain they can have all the features and things in place to be atomic swap capable, set up for dPoW, and would have the same scaling tech Komodo uses?
jl777: yes, all can be put in place before doing the snapshot and migrating, and everything other than enabling dPoW can be done without our being involved, though we are happy to help.
Regnar: Okay so the dPoW part requires Komodo involvement, and GameCredits, Kreds, Utrum, and some other coins have added dPoW to their chains for the extra security. Is this process getting easier to do for established coins that aren't looking to migrate?
jl777: as far as if KMD will survive this bear market, I am confident KMD will survive the next bear market and even the one after that. We have funding for 10+ years of dPoW and while we do have end user deliverables, that is a very expensive marketing wise for customer acquisition. Our focus on enabling technologies allows us to run much leaner on the marketing side. and in any case, we don’t have millions of dollars to be throwing about left and right for paid placements and listings like many of the other projects do. It will take longer, but as more people learn about KMD, the mentions we will get will be based on KMD attributes and not due to paid placements.
Rubinho: The main focus for many platforms is to attract devs.. i think the perception of the numbers of devs out is over estimated... what would you consider to be a "possible application" that can be built on KMD for the benefit of the end user? Again I own KMD, I just want to have a better grasp of KMD's competitive edge, is it only TPS? And if there isn't a lot of money for paid placements... which is understandable... how would KMD be better distributed in more hands?
jl777: I wrote 4 reference contracts last month: assets with DEX, faucet, rewards and dice. Once written they can be configured without programming, each CC contract that is written becomes part of the baseline contracts available for all chains, and the rewards CC contract implements what seems to be what is most liked about masternodes.
xRobeSx: Assetchains / dPoW / jumblr / 5% interest... the list goes on and on. The fact that anyone can spawn a new chain in seconds that has a built in faucet, is pretty damn cool.
The Fonz: This link is helpful as well https://www.reddit.com/komodoplatform/comments/8gyajv/welcome_to_komodo_a_beginners_guide/
jl777: Assets/tokens are also pretty important and dice is a classic blockchain game, all these are blockchain enforced trustless implementations
Steve Lee: I'd recommend reading https://komodoplatform.com/komodo-evolution-the-5-pillars-of-blockchain-tech/ and the 5 deep dive posts linked in the article.
Rubinho: how would that be beneficial in a real life scenario? what would be your prediction for the future in terms of the numbers of chains or platforms? Many or few winners?
xRobeSx: The first few years of bitcoin, was a lot of faucets and dice games :smiley: now anyone can do it in minutes ha.
Steve Lee: We're working with https://www.ideasbynature.com/ for a full rebrand and also refreshing the UX/UI across our product portfolio. Ideas By Nature is the world’s leading agency focused solely on the design and development of blockchain products. Located in the heart of Denver, CO.
jl777: these are just the reference CC contracts, the possibilities are endless as to what can be implemented. Basically anything you can describe coherently in detail can be made into a CC contract.
Steve Lee: We've spent the last year building the most securely scalable and interoperable blockchain infrastructure. We find this was critical to first focus on building the right foundation for our ecosystem and ensuring it was future-proof and to address many of the limitations we're seeing today.
Χαίρετε: UX/UI are better comparing with the old KMD apps, but it's still far from user friendly, the standards have to be much, much higher, otherwise I don't see much adoptions
J: I want to see ethLend style CC system in KMD
Rubinho: btw... I own KMD on ledger… will there be a way to gain the interest without having to move it to another wallet? I mean to claim. I don't want to take my private keys and put them into another wallet.
Steve Lee: This is our current interim solution. We're exploring full wallet integration with the Ledger team. https://www.youtube.com/watch?v=nKBdGI8pu7M&lc=z22audyhlvnrjpdwq04t1aokgbvrwe1nz2iz0sbmi0mnrk0h00410
Rubinho: thank u for that!
Χαίρετε: average users access your infrastructure via apps, doesn't matter how good your underline techs are, if apps are hard to use, people will leave. google cloud has better tech than AWS, better engineering team, better talents, but it's losing big against AWS, internally google said it will only fund it 2 more years if things don't turn around, i know number of people who have left that team, so the infrastructure doesn't matter at the end. i think KMD team has this engineering mentality thinking that UX/UI is easy, but the opposite is true, designing a user friendly product is hard, even harder than engineering.
Steve Lee: Agreed, that's why since we've finished building the foundational architecture, we're moving focuses on building out our developer community, documentation, training, and are moving towards development of a smart contract reference library.
Siu: Mm1.0 is a proof of concept. As it is right now it still is ages ahead of similar concepts. It should be jaw dropping even as it currently is. The real problem bdex confronts is the prostitution of the "atomic swap" name by ETH tokens.
Steve Lee: Also in plan is building a GUI frontend for blockchain creation, customization, etc.
jl777: if everything was perfect already, we would be done and have nothing to do. it is a process of continuous improvement
James: Ethereum has solidity. Is there equivalent for Komodo?
jl777: CC contracts are native code running at full speed. Any language that can be compiled into a library can be used, but we are just getting started with making different language bindings and it would need to interface to the c/c++ functions inside the komodod. My thinking is that blockchain coding is difficult and not something end users or casual programmers should be doing, such can and have led to some very expensive errors, even experienced blockchain devs make errors. C++ is the easiest, but any language that compiles would be able to be used.
James: OK. So it is c++
Rubinho: could you walk me thought how am I (the end user) going to use KMD in the system? is KMD like GAS for the platform?
jl777: rust would likely not be too hard to interface to. The CC contracts tend to be configurable, so the user can determine the settings of the rewards and not have to code it, of course a full blockchain project creating their own dapp would need to still create their own dapp, but on their own chain, there is no crazy txfee, congestion, etc
[End Chat]
submitted by regnar2 to komodoplatform [link] [comments]

[How To]Full Node (Beta) + GUI + Staking on Raspberry PI 3

Hello everyone,
With the Full Node Beta recently being released on 3/28 and the Full Node GUI on 4/11, I thought it would be an excellent time to update the RPi tutorial by olcko and demon for the RPi. I've been running it now for about 1 week and it has been working great so far, but I haven't been connected to many peers running the full node. Hopefully this tutorial will help change that!
This tutorial will take over from the previous tutorial's step 4. Steps 1-3 cover installing Raspbian and SSH on the RPi and are excellent.
PREREQUISITES
FULL NODE Setup
mkdir StratisFullNode
cd StratisFullNode
git clone https://github.com/stratisproject/StratisBitcoinFullNode.git
cd StratisBitcoinFullNode
git submodule update --init --recursive
cd src
restore
build
cd Stratis.StratisD
run -apiuri=http://0.0.0.0:32771
The "apiuri" option enables access to the API from another device on your network (Thanks Daan Damhuis!).
That's it! Your node should be running now, but may take a while to sync. You can test the node's API by pointing your browser to http://:37221/swagge
If you don't plan on using RPC, make sure you follow the instructions from the previous tutorial step 3 to block RPC connections.
sudo ufw deny 16174
Full Node GUI Setup
Now that the Core Daemon is running, we can install the GUI frontend. We will be following the instructions from here. The GUI that interacts with the node can be installed on the RPi or another device on your network (with some tweaks to the underlying code, below).
cd ~/StratisFullNode
git clone https://www.github.com/stratisproject/FullNodeUI
cd FullNodeUI/FullNodeUI.UI
npm run mainnet
That's it! Go ahead and set up your new wallet!
Remote GUI Tweaks
I'm adding this section for RPi owners who don't run a GUI on their RPi device, but may want to run the GUI on another device on their network. This can be done because the GUI interacts with the full node through the API; however it will take some tweaks to the code before compiling to make this set-up work. The instructions for "Full Node GUI Setup" above should be run on that device.
There is one place in the code where you need to replace "localhost" with your RPi's local private network IP address.
  • src/app/shared/services/api.service.ts#38
this.stratisApiUrl = 'http://:' + this.apiPort + '/api';
You will also need to comment out a few sections to prevent the GUI from starting up or shutting down the full node when you open/close the GUI.
  • main.ts#86
//startStratisApi();
  • main.ts#96
//closeStratisApi();
Helpful RPi tips for remote management
  • Use Screen + SSH! Screen is a wonderful utility that will leave your session running when you disconnect from ssh. This is available via sudo apt-get install screen on your RPi. You can reconnect when you return at another ssh session with:
screen -x
  • Sometimes the full node on your RPi will hang or unexpectedly crash - stopping staking in the process. Borrowing from here, I have created a script that will monitor for hangs or crashes and restart the node.
  • If the node is restarted, you will still need to re-enable staking. This can be accomplished through the GUI, a browser using swagger, or with an API call through a local script (insecure).
Sample helper scripts, including a .screenrc configuration, for the above can be found in a pastebin here.
Example API calls can be found on the full node's swagger API interface.
  • Note: your wallet passphrase must be sent via POST to re-enable staking.
I hope you found this helpful!
Please feel free to message me with questions/errors/improvements or find me on the discord/telegram as @TjadenFroyda. I'll update this post with feedback.
Donations are welcome as well: SNSwQVvB5FB6KPVT7325tJGWXbxVd4xceR
submitted by gopherdoc to stratisplatform [link] [comments]

Ravencoin Open Developer Meeting - 2/15/2019

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:02 PM
Hello everybody!

theking - Last Friday at 2:02 PM

Seems likes it’s been so long since this meeting was held. At least a month 📷

Tron - Last Friday at 2:02 PM

Hi all!!!

Tom - Last Friday at 2:02 PM

Big boss is here !(edited)

BigZim - Last Friday at 2:03 PM

Oh hi

theking - Last Friday at 2:04 PM

Hi @Tron

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:04 PM

Topics for today: Release 2.2.2, Mobile Wallet, Restricted Assets, SLC Raven Meetup📷1

truedev - Last Friday at 2:05 PM

hello

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:05 PM

Release 2.2.2 GO

J. | ravenland.org - Last Friday at 2:05 PM

Hey

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:05 PM

BTW, blondfrogs won't be able to join us today. 📷

corby - Last Friday at 2:05 PM

Hi all

Chatturga - Last Friday at 2:05 PM

Blondefrogs has been working on the 2.2.2 update. He isnt here today, but he left this tidbit for the meeting:(edited)"Release 2.2.2 has a bunch of new updates. The sync speed fix that was released in 2.2.1 has been updated even more to use less memory/ram and uses less CPU. Each node used to hold all addresses that contained an asset as well as the amount in those addresses. That is now optional with the -assetindex flag. Which can be put into the raven.conf or added as a parameter when starting the wallet. Some other wallet issues were also fixed with this memory update. This is considered an mandatory update, especially if you haven't updated to 2.2.1 which resolved a potential fork bug fix. I would still suggest updating to 2.2.2 even if you are on 2.2.1."📷6

Jeroz - Last Friday at 2:07 PM

wen source?📷1

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:07 PM

There's a PR that was just moved to Develop.When is now

Jeroz - Last Friday at 2:08 PM

great 📷

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:08 PM

It'll be merged by the devs to master and then binaries should be posted soon

truedev - Last Friday at 2:09 PM

any idea when dividends will be functional?

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:09 PM

A bunch of testing has been happening and is currently running on the seed-nodes.

Tron - Last Friday at 2:10 PM

No timeline for dividends, but it is the one function that doesn't need any changes to consensus. And it can be done on tier 2 with a python script. The plan is still to build in a rpc call.📷2

truedev - Last Friday at 2:11 PM

alright

SpyderDev - Last Friday at 2:12 PM

We have been focusing on sync performance and have been running many tests. I've added an image of the results of this testing. Currently we still want to work on getting the Windows QT sync times faster (at least closer to what they are using just ravend). Overall we are very happy with the speeds and hope it will help people that have struggled getting their nodes up to date.(edited)📷

Jeroz - Last Friday at 2:13 PM

Yeah that table completely puzzled me

[Master] Roshii - Last Friday at 2:13 PM

hello!📷6

Jeroz - Last Friday at 2:13 PM

Fast branch is 2.2.1? or 2.2.2? Develop branch is 2.2.0?

SpyderDev - Last Friday at 2:15 PM

Sorry, should have clarified that. I was testing while it was still under development. On the table the top is the new-sync code, the bottom is the old "assets" release. As of about 5 minutes ago all of this code is on the develop branch.

Jeroz - Last Friday at 2:15 PM

Although syncing is mostly bottlenecked by cpu speed, that 16 core windows-qt still looks off to me. I synced windows Qt using 2.2.2 in ~2h on a i5-7600K.ok

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:17 PM

Okay, we good to move to the Mobile update?

SpyderDev - Last Friday at 2:17 PM

The Windows box is an AWS instance and there is some concern that the remote desktop could be slowing the QT UI down causing the horrible sync times. I am working on getting a local Windows 10 resource and will have updated information once that is ready (early next week).

Jeroz - Last Friday at 2:18 PM

ah that might explain. Ubuntu qt was 45 mins for me

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:18 PM

CoolOkay, Mobile!Go!

[Master] Roshii - Last Friday at 2:18 PM

📷📷1

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:19 PM

@[Master] Roshii has been working closely with some of the other devs to get the iOS version out the door.Android will follow closely.

Jeroz - Last Friday at 2:20 PM

is android an easy port?

J. | ravenland.org - Last Friday at 2:20 PM

Usually its the case(?), i mean easier 📷(edited)

SpyderDev - Last Friday at 2:20 PM

Just copy and paste right Roshii 📷

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:20 PM

LOLNo, usually its a completely new development effort.For the RVN Wallets they are both written in native iOS/Android code.

[Master] Roshii - Last Friday at 2:21 PM

So the iOS and Android use the same Core SPV module written in C, and it's the most difficult part.I have already did some work when it comes to Android, and it's 70% finishedHave also to port all the changes we lately did to the iOS wallet ...

boatsandhoes - Last Friday at 2:21 PM

yeah, unfortunately its not as easy as cut and paste for ios to android

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:21 PM

Anybody interested in installing the TestFlight version and helping us test?

boatsandhoes - Last Friday at 2:22 PM

yes

J. | ravenland.org - Last Friday at 2:22 PM

For android? sure.

BW__ - Last Friday at 2:22 PM

Android? yes.(edited)

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:22 PM

I'll talk to Apple about adding Android support to TestFlight.Might be a while.

J. | ravenland.org - Last Friday at 2:22 PM

lol

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:22 PM

Anybody on here using iOS?

Jeroz - Last Friday at 2:22 PM

Yeh me

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:22 PM

besides me...

[Master] Roshii - Last Friday at 2:23 PM

Android is very close, fortunately I'll have enough coffee in Morocco to finish the wallet in two weeks.(edited)📷4📷5

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:23 PM

https://testflight.apple.com/join/NTVQ2FfY (400 installs available)Join the RVN Wallet betaAvailable on iOS📷

theking - Last Friday at 2:23 PM

I will test iOS if needed

[Master] Roshii - Last Friday at 2:23 PM

@shiny

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:24 PM

Some of the devs have been doing a bunch of testing on iOS but we would love others to help.Bugs can be reported on GitHubhttps://github.com/RavenProject/ravenwallet-iosGitHubRavenProject/ravenwallet-iosContribute to RavenProject/ravenwallet-ios development by creating an account on GitHub.📷

truedev - Last Friday at 2:25 PM

how confident are you that apple will allow it on the appstore

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:25 PM

It's already in the App store.

truedev - Last Friday at 2:25 PM

ok

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:25 PM

That wasn't easy though.

truedev - Last Friday at 2:26 PM

yah figured, a lot of coins have been completely rejected(edited)

Chatturga - Last Friday at 2:26 PM

The devs already jumped through Apples 152,315 flaming hoops to get it in there.

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:26 PM

Yup, many meetings and phone calls.

J. | ravenland.org - Last Friday at 2:26 PM

wen rvn modular phone

Jeroz - Last Friday at 2:27 PM

Looking good📷📷7

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:28 PM

Okay, any questions about iOS release?

jaysonb - Last Friday at 2:28 PM

seed word format changed? i seem to have to have same words. did i need to delete and install fresh?

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:29 PM

No, it used your old ones.Always have your 12 words. especially when testing.

ravencoin maximalist 🧘🏻♂ - Last Friday at 2:30 PM

I’ve got iOS

Tron - Last Friday at 2:30 PM

If you use your 12-words, and then sync, and you're missing funds. Go here: https://medium.com/@tronblack/ravencoin-testing-ios-wallet-b713deb2c800MediumRavencoin — Testing iOS Wallet – Tron Black – MediumThank you for helping us test the Ravencoin iOS mobile wallet. Since you are in an early group of testers, you might have used the…

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:30 PM

Sweet, install and report bugs.

Tron - Last Friday at 2:30 PM

Or just go there...

jaysonb - Last Friday at 2:30 PM

that article scared me so i moved everything off.but i'll put some back on now

ravencoin maximalist 🧘🏻♂ - Last Friday at 2:31 PM

📷

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:31 PM

That's unfortunate. You don't need to be scared ever if you have your 12 words.

[Master] Roshii - Last Friday at 2:31 PM

android current state(edited)📷

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:32 PM

Here's the install link one more time for those that have joined late: https://testflight.apple.com/join/NTVQ2FfYJoin the RVN Wallet betaAvailable on iOS📷Okay, Tron's topic: Restricted Tokens

Tron - Last Friday at 2:33 PM

I have an idea.(edited)📷7📷6

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:34 PM

That several other devs have helped with. 📷

Tron - Last Friday at 2:34 PM

📷

SpyderDev - Last Friday at 2:34 PM

and lawyers

Tron - Last Friday at 2:34 PM

When the project started, ICOs were the big thing. Now it is STOsThe main difference is the legal wrapping and rules around securities.If Ravencoin has two more token types (Tags and Restricted Assets), there are lots of ways to make compliant tokens.Importantly, it doesn't affect the existing tokens at all.Tags - Tokens that can be sent only by the issuer once (with metadata).These tokens start with (hashtag)(edited)📷8

SpyderDev - Last Friday at 2:37 PM

^(octothorpe)

Tron - Last Friday at 2:37 PM

The Restricted Assets start with $, and can be frozen by the issuer. But they only move between tagged addresses.(edited)

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:38 PM

Tags can be sent to a user's address after the issuer has done the necessary due diligence for an STO issuance.(edited)

Tron - Last Friday at 2:38 PM

The issuer determines which tags the Restricted Asset will honor.This can be used for lots of different use cases.

EEE - Last Friday at 2:38 PM

Stunning interface guys

boatsandhoes - Last Friday at 2:39 PM

will that determination be a setting in the wallet?

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:39 PM

Restricted assets can then only be sent to addresses that are allowed and have the proper Tags.

boatsandhoes - Last Friday at 2:39 PM

interesting📷1

J. | ravenland.org - Last Friday at 2:39 PM

Did you guys get contacted by some entity* whos forcing the restricted address policy? or is this done as precautionary measure? At first glance your idea sounds good Tron.(edited)

Tron - Last Friday at 2:39 PM

Example: $UBER token only moves among addresses tagged with #KYC

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:40 PM

So Ravenland will have to buy a bunch more spam tokens.📷4

SpyderDev - Last Friday at 2:40 PM

#ravenland.

boatsandhoes - Last Friday at 2:40 PM

so is the $ something that can be added to an existing asset?

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:40 PM

It's not a forced thing. But adding the ability for Raven to be used in new use cases where legal requirements exist.

Tron - Last Friday at 2:40 PM

Not contacted by anyone, and not precautionary. Ravencoin Assets are just tools. This is just another tool that will help issuers of security tokens.📷9📷4

BW__ - Last Friday at 2:41 PM

Love it.

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:41 PM

It'll be a new token type that you can create @boatsandhoes📷1

ravencoin maximalist 🧘🏻♂ - Last Friday at 2:41 PM

That sounds awesome

SpyderDev - Last Friday at 2:41 PM

I for one am very excited about this...📷4

Hans_Schmidt - Last Friday at 2:41 PM

How does the $ token owner specify the required # tags?

DeejayQQ - Last Friday at 2:41 PM

Can the same name have different token type?Sorry need time to digest

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:42 PM

Still working out the details. Tron will be posting additional info about the idea soon.

Steelers - Last Friday at 2:42 PM

Cool

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:42 PM

Feedback is wanted!

Tron - Last Friday at 2:42 PM

Q: Was this originally the plan for Ravencoin? A: No. This is in response to the regulatory ramp up in 2018 in some jurisdictions which requires that only known individuals or entities to operate peer-to-peer on certain tokens. For jurisdictions that allow unrestricted peer-to-peer transfer, we strongly encourage use of the original Ravencoin assets. The Restricted Assets are an adaptation to satisfy burdensome, privacy-destroying regulations, with a goal of reducing information replication which makes Ravencoin Restricted Assets a better alternative to those being promoted now.

jaysonb - Last Friday at 2:43 PM

all nodes will validate the transactions not just those interested in the transaction - i assume all will validate..

boatsandhoes - Last Friday at 2:43 PM

so essentially any name already secured in the hopes of having that functionality are worth less because they wont be able to?

theking - Last Friday at 2:44 PM

Can the restricted assets be time based in any way? For instance, in some STO regulated environment, there is a lockup for some period of time after issuance, but then after a certain period of time the restriction goes away and the securities can be traded. Is that contemplated at all?

DeejayQQ - Last Friday at 2:44 PM

If I already have Tron as my asset, there could be another Tron but under a different token type such as restricted assets?

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:44 PM

Yes all nodes will do consensus checks.

corby - Last Friday at 2:44 PM

@boatsandhoes there's going to be a grace period where you can purchase $XXX if you own XXXon the order of months

boatsandhoes - Last Friday at 2:45 PM

📷 📷 📷 📷

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:45 PM

Yes, you have the TRON asset and you can also have the $TRON asset.(edited)

Tron - Last Friday at 2:45 PM

Regarding the lockup....

boatsandhoes - Last Friday at 2:45 PM

how many RVN for that?

Tron - Last Friday at 2:45 PM

Rule 144 under the Securities Act of 1933 This is an important rule to be aware of in terms of privately held securities. This rule provides the most commonly used exemption for holders to sell restricted securities (Note: For context, a restricted security is a security sold in an exempt offering, except for Reg A+). The general idea is that you can publicly resell your “restricted” (privately sold) securities only when the restricted legend is removed. The solution Ravencoin Restricted Assets provides is the ability for the Iissuer to Freeze the asset ininto the holders account. The qty will be visible, and the frozen status will be visible. The meta-data for a Freeze can specify 144_Restricted. The issuer can Unfreeze to release the 144 restriction.Similar for Reg D 1-year lockup.@theking

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:46 PM

@theking ^^

DeejayQQ - Last Friday at 2:46 PM

What is the timeline for this restricted asset to be implemented?📷1

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:46 PM

No timelines yetStill in the ideation phase.

SpyderDev - Last Friday at 2:46 PM

Fresh off the press...

DeejayQQ - Last Friday at 2:46 PM

Ok, idea for nowGot it

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:46 PM

Wanting input for the idea.

boatsandhoes - Last Friday at 2:47 PM

a preset for lock up settings would be nice

Jeroz - Last Friday at 2:47 PM

What about the ability to move an asset from restricted to unrestricted after grace period similar to the reissue ability? By the issuer(edited)

boatsandhoes - Last Friday at 2:47 PM

adjustable preset*

DeejayQQ - Last Friday at 2:48 PM

If this restricted assets would help underlying token listed on exchanges for trading by satisfying the legal requirements, I don’t see why not. There are only benefits📷2

boatsandhoes - Last Friday at 2:48 PM

yeah, win win

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:48 PM

There is something similar in vote tokens.

corby - Last Friday at 2:48 PM

@Jeroz the issuer would be able to "reissue" and relax restrictions

DeejayQQ - Last Friday at 2:48 PM

Just throwing things out here. Can we just make all existing tokens crested so far restricted assets?*created

boatsandhoes - Last Friday at 2:49 PM

stupid question, is it possible to have burned rvn cost for the $ to add onto the block reward as a bonus?(edited)

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:49 PM

No, @DeejayQQ there should be both usecases available in the platform.

corby - Last Friday at 2:49 PM

We (my dog and I) are envisioning a differentiated space where we can charge a lot more RVN to keep non-serious people out..(edited)

Tron - Last Friday at 2:49 PM

@Jeroz Yes, as long as the asset is still "reissuable", you could change the logic from (#KYC & #ACCREDITED) to just #KYC📷3

Jeroz - Last Friday at 2:49 PM

I'm just worrying about the name uniqueness if you can have #BANANA and $BANANA

BW__ - Last Friday at 2:50 PM

Is it fair to assume that tags can be standardized for specific purposes? If so, should we create something akin to an 'ERC' in git repo?

Jeroz - Last Friday at 2:50 PM

@Tron sounds cool

truedev - Last Friday at 2:50 PM

honestly, I think you should be able to buy/create an asset in a set, with all types(edited)

boatsandhoes - Last Friday at 2:50 PM

^that part

Hans_Schmidt - Last Friday at 2:51 PM

Since the #KYC tag is just locked to an address, what prevents someone from selling their address and thereby the KYC?

corby - Last Friday at 2:51 PM

The "#" types won't trade -- they're just stamps to stamp addresses as qualified-to-hold-some-stuff..

Tron - Last Friday at 2:51 PM

The tags are created by the users. The system is still jurisidiction agnostic.

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:51 PM

@Hans_Schmidt nothing really, the same thing as selling your username password to any other existing financial app account.

corby - Last Friday at 2:51 PM

@Hans_Schmidt Real world networks, high cost of entry (for serious applications)For non-serious applications, nothing

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:51 PM

You still have the liability associated with that account though.

Jeroz - Last Friday at 2:52 PM

@corby what about BANANA/ vs $BANANA/ ?Or do you want to make them subassets?

boatsandhoes - Last Friday at 2:52 PM

@Jeroz better safe than sorry, just swoop both

Tron - Last Friday at 2:52 PM

A country could require that #SOMECOUNTRY tag has to exist before moving $SPECIALASSET to an address. The users set the rules. #KYC was just an example because it is an industry problem at the moment.

corby - Last Friday at 2:52 PM

#BANANA, $BANANA, TRICYCLE, and BANANA can all coexist just fine I think..

theking - Last Friday at 2:53 PM

Thanks @Tron. This is great and I think something that will enable raven to become an even more widely used platform.📷4

Tron - Last Friday at 2:53 PM

That's the hope. I think it solves some real problems that the industry is trying to solve through incompatible ERC-20 experiments.📷3

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:54 PM

/hacks📷3

boatsandhoes - Last Friday at 2:54 PM

what is the purposed cost for $ in addition to an existing asset?

corby - Last Friday at 2:54 PM

People that own #THESE I am calling "Qualifiers" -- they just stamp their mark on addresses. Issuers of $THESE need to establish trust with #THESE and #THOSE and then decide what restrictions to apply.📷1

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:54 PM

5 mins left. Stay on this topic or switch to meetup?

Tron - Last Friday at 2:55 PM

@boatsandhoes Not determined.

Jeroz - Last Friday at 2:55 PM

yeah the idea is a nice proof of ownership / membership

DeejayQQ - Last Friday at 2:55 PM

Meetup

Chatturga - Last Friday at 2:55 PM

TL;DR - The SLC meetup is in 1 month. Go to https://www.meetup.com/Salt-Lake-City-salt-lake-city-Meetup/ to indicate if you plan on attending so that we have a somewhat accurate headcount.MeetupSalt Lake City Ravencoin (Salt Lake City, UT)Ravencoin is a blockchain and platform optimized for transferring assets, such as tokens, from one holder to another, and is built on a fork of the Bitcoin code. It is intended to prioritize security,📷

corby - Last Friday at 2:55 PM

@boatsandhoes One Million Raven

Chatturga - Last Friday at 2:55 PM

Punch and pie

J. | ravenland.org - Last Friday at 2:56 PM

Can the SLC meetup made interactive for people that cant make it there?

theking - Last Friday at 2:56 PM

What about having just one name ( you first buy the standard raven token under whatever name you like) and then the holder of the owner token is the only one to create restricted tokens ? Might be some way to ensure no name confusion.📷4

boatsandhoes - Last Friday at 2:56 PM

what about that block reward bonus concept for purchasing $. would that work?

Chatturga - Last Friday at 2:56 PM

I dont know that we have the ability to make it interactive as far as Q&A goes, but I'll look into it. We should have it live streaming. @J. | ravenland.org(edited)📷2

BW__ - Last Friday at 2:56 PM

@Tron Is there same kind of logic layer to restricted assets?(edited)

Tron - Last Friday at 2:57 PM

@theking I like that idea.

Jeroz - Last Friday at 2:57 PM

Quick question that is offtopic but I think deserves an answer because it was asked a couple of times earlier this week: Will unique assets get a reissuable function? To change IPFS.(edited)📷2

Tron - Last Friday at 2:57 PM

@BW__ Yes. Simple and, or, not and parenthesis - limited in length.(edited)

boatsandhoes - Last Friday at 2:57 PM

@theking thats a good idea

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:58 PM

@Jeroz There is not a way to do that currently.

BW__ - Last Friday at 2:58 PM

@Tron That makes sense. Thank you.

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 2:58 PM

Just make sure your changes to the information have the same hash as the previous data and your golden. 📷📷1

Jeroz - Last Friday at 2:59 PM

Any plans on changing that, perhaps when introducing new types of assets?

boatsandhoes - Last Friday at 2:59 PM

i like that it cant be changed

corby - Last Friday at 3:00 PM

Thanks everyone!

theking - Last Friday at 3:00 PM

@Tron there was some info floating around about a 2nd later KYC solution ( from your recent podcast w Crypto Koala). Is that a separate solution someone is working on or part of this new concept?📷1

Tron - Last Friday at 3:01 PM

Starting with the introduction of messaging, every transaction can have an IPFS hash. Can be used as an public invoice, details about the transaction, etc.@theking The same new concept.

[Master] Roshii - Last Friday at 3:02 PM

Ok, we're done.

Steelers - Last Friday at 3:02 PM

How would Raven handle for instance a stock split?

BW__ - Last Friday at 3:02 PM

Are there sync concerns if a restricted asset logic layer is added?

Tron - Last Friday at 3:02 PM

@theking The KYC provider would store the KYC info, and send the Tag to an address with meta data that specifies that they're holding the KYC data. The KYC data would not be public, but could be audited.

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 3:02 PM

That way you could update information about the original unique asset with each transaction.@Steelers Just a simple re-issue of the asset

Tron - Last Friday at 3:03 PM

@bw_ The logic layer is only a small db that stores the meta-data about the Restricted Asset, and enforces the restriction in the consensus rules. Rule returns true/false.(edited)

RavencoinDev (Jesse/Wolfsokta) - Last Friday at 3:03 PM

Thanks everybody! I have to run.

Jeroz - Last Friday at 3:04 PM

I'm looking forward to the discussions to let this take shape. Thanks all! 📷📷4

Tron - Last Friday at 3:05 PM

@BW__ It would work very similarly to the way the units works now. Each asset has number of units and any transaction that makes it too granular (more satoshis) will fail in consensus -- even if it gets past the RPC checks.Signing off. Thanks all!!!📷9📷4📷9
submitted by Chatturga to Ravencoin [link] [comments]

Programming Bitcoin-qt using the RPC api (1 of 6) 9. bitcoind How to give your bitcoin node commands using a web server Ubuntu -2 Setting up .bitcoin folder How to run Bitcoin-qt as a server with a configuration file (3 of 6)

To work you need to run one instance of bitcoin as a daemon, so he worked as a full-fledged host on the network and give commands to it using another copy of bitcoind. The interaction between them happens via JSON-RPC over TCP port 8332. In order for them to recognize and trust each other, you need to set rpcpassword, which is written in the file ~/.bitcoin / bitcoin.conf as rpcpassword=blah ... There are two variations of the original bitcoin program available; one with a graphical user interface (usually referred to as just “Bitcoin”), and a 'headless' version (called bitcoind). They are completely compatible with each other, and take the same command-line arguments, read the same configuration file, and read and write the same data files. You can run one copy of either Bitcoin ... If your node has pruning enabled, this will entail re-downloading and processing the entire blockchain. Compatibility . Bitcoin Core is extensively tested on multiple operating systems using the Linux kernel, macOS 10.10+, and Windows 7 and newer (Windows XP is not supported). Bitcoin Core should also work on most other Unix-like systems but is not frequently tested on them. From 0.17.0 ... No Need to run Bitcoind - Some VPS and shared hosting ... HTTP callbacks can be enabled in the notifications section of [Account Settings] in the web interface. Host. The rpc host is rpc .blockchain.info. Plain http and SSL https are supported. Connecting using Bitcoind. Bitcoind can be used as an RPC client for testing and debugging. $ ./bitcoin-cli -rpcconnect=rpc.blockchain.info -rpcport ... I'm running bitcoind on one machine and would like to control it from another (using python and the JSON RPC interface). ~/.bitcoin/bitcoin.config on the bitcoind host (192.168.2.4): rpcuser=xxx rpcpassword=xxx gen=1 rcpallowip=127.0.0.1 rcpallowip=192.168.2.6 # This is the other machine paytxfee=0.01 Now, I start bitcoind -daemon, but my python program fails with . IOError: [Errno socket ...

[index] [6177] [47939] [18798] [20939] [45847] [29090] [48734] [17671] [24763] [29387]

Programming Bitcoin-qt using the RPC api (1 of 6)

Ubuntu -2 Setting up .bitcoin folder Commands, cd ~/ mkdir .bitcoin cd .bitcoin nano bitcoin.conf server=1 daemon=1 testnet=0 rpcuser=UNIQUE_RPC_USERNAME rpcpassword=UNIQUE_RPC_PASSWORD. Autoplay When autoplay is enabled, a suggested video will automatically play next. Up next How to run Bitcoin-qt as a server with a configuration file (3 of 6) - Duration: 5:48. Bitcoin JSON-RPC tutorial. How to set up bitcoind on a VPS. BTC: 1NPrfWgJfkANmd1jt88A141PjhiarT8d9U Bitcoin JSON-RPC tutorial. Getting started with the bitcoin command line interface. My Book: https://www.amazon.com/Building-Bitcoin-Websites-Beginners-Devel... https://ChainQuery.com/tutorials/a-brief-introduction-to-the-chain-query-bitcoin-rpc-api Take a brief tour of the features and functionality of the Chain Que...

#