handshake-org / handshake-org.github.io Goto Github PK
View Code? Open in Web Editor NEWHandshake developer documentation site
Home Page: https://hsd-dev.org
Handshake developer documentation site
Home Page: https://hsd-dev.org
It would be really useful to enable automatic builds and deploys in CI when things are merged to master.
An example of using Travis-CI from bcoin
:
https://github.com/bcoin-org/bcoin-org.github.io/blob/staging/.travis.yml
I have 4 domains that made it to the Alexa 100k list
I was able to successfully claim 2 (a .com and a .tv)
However I am getting an error message of "No RRSIG(DS) records" for the other 2 (a .org and a .info).
I've double and triple checked my set up (using Cloudflare as dns provider).
Also I see the only domains which have been claimed thus far contain no .orgs or infos.
Which leads me to believe that there is something not compatible with these TLDs.
getwork
in hsd does NOT accept any parameters. It used to in bcoin -- this is probably also why submitwork
is missing, it was never included in the bcoin api-docs either.
This goes for handshake-web as well. I have no idea what the hell is going on over there, maybe this:
https://www.devever.net/~hl/freenode_suicide
The #handshake channel is out of control pummeled by spam, no one has Ops control, freenode is over.
Updates needed in docs
This commit was merged in and updates node RPC validateaddress
Updating the docs can be tedious, and requires a bunch of dependencies like ruby to build locally. These are bounties I will pay to contributors who write high-quality pull requests that get merged. If a task seems like more than it's worth here, leave a comment and I'll bump the bounty up. After a few weeks with no takers I may bump them anyway. These payments are coming out of my personal wallet (not from any foundation or fund) which contains funds from multiple donations I've received over the last 6 months or so. Be sure to include an HNS address in your PR comments, or you can send it to me privately: [email protected] or @pinheadmz on telegram
To prevent multiple developers from colliding on projects, just leave a comment below that you are going to start working on an issue so other contributors know. If mulitple developers work on a PR together, I may split the bounty between them or (if the quality is impressive enough) just double it.
This is an experiment! I am curious to see what happens here and I really want more developers contributing to handshake-org. One of my first contributions ever to bcoin was an overhaul to the API docs and it was extremely educational and helped me bootstrap into the bcoin-org team. If you are interested in contributing at all to Handshake development, this is a really good place to start.
If you have any questions or need help, contact us in the dev chat on telegram: https://t.me/hns_tech
Issue | Bounty | closed |
---|---|---|
✅ | ||
network from options passed to NodeClient and WalletClient #92 |
✅ | |
✅ | ||
✅ | ||
✅ | ||
✅ | ||
✅ | ||
✅ | ||
Flags in docs diverged from implementation #58 (see comment) | 100 HNS |
I'm trying to install Handshake into my Windows laptop seeing this page https://handshake-org.github.io/guides/win-install.html , and facing this operation problem :
$cd bstring
I can't find such directly.
I was working on #81 and then I realised we can do some improvements in the structure of this repo.
Here's my suggestion:
First, separate source and auto generated files. Currently, the build generates files in the repo's root (index.html).
The build script does a surgery for cleaning the workspace before generating new files.
We could have a single ./build
folder and use that as root for GitHub Pages.
Since the final goal is to automatise the doc generation, we could go even further and use another branch. This is a common strategy. We have a branch in which we only have the website content, all generated files, plus any other resource. No sources there.
The main advantage on having a separated branch instead of a folder is the event: when using different branches a change in master always means new/updated content and can trigger the docs generation which will push changes to a side branch
So, the first step in this direction would be to create a branch from master, named gh-pages
and update this project settings to use that branch as source for GitHub Pages.
I can't create a PR to a non-existing branch, nor change the repo settings.
Before mainnet launched, some trademark owners claimed their name through the founders' team and submitted mainnet addresses for those names to be automatically delivered: https://github.com/handshake-org/hs-names/blob/master/names/trademarks.json
These participants may still expect those addresses to "do something" -- they wont ;-)
$ hsw-cli rpc sendupdate example \
'{"ttl":3600,"canonical":"icanhazip.com."}'
From handshake-org/hsd#553:
getbids
parameters and explanation is missing, all the auction RPC get
'ers should be checked
From handshake-org/hsd#511:
Add deepclean
From handshake-org/hsd#529:
Create presigned reveals endpoint needs to be added.
doh!
on IRC:
https://hsd-dev.org/ says the mailing list is [email protected] but that e-mail address doesn't seem to exist; my SMTP server rejects it. Is there still a dev mailing list or is it dead?
The implementation in hsw-cli and most likely others moved from CamelCase to dash-case.
Example subtractFee -> subtract-fee.
This is not yet reflected within the docs:
https://hsd-dev.org/api-docs/?shell--cli#send-a-transaction
As stated in the title, on the Lock and Unlock coin outpoints commands they list the use of a 'passphrase' in the body parameters, but show now example of how this parameter should be passed, or if it is required.
There's undocumented rpc calls that create (but don't sign) all the covenant types.
Reference: handshake-org/hsd#145
https://hsd-dev.org/api-docs/#get-wallet-auction-by-name
And
https://hsd-dev.org/api-docs/#getauctioninfo
Seem to do the same thing and return the same info I think. Can they be merged?
The current example on the docs only lists that you need the name
, bid
, and lockup
parameters. The actual call however requires there also be an account
parameter after the lockup
parameter.
We don't actually use this right?
https://hsd-dev.org/api-docs/?shell--cli#derive-nested-address
In trying to set this up on my Windows 10 machine, I get the following error:
$ ./bin/hsd
./bin/hsd: line 2: $'\r': command not found
./bin/hsd: line 6: $'\r': command not found
./bin/hsd: line 41: syntax error near unexpected token $'do\r'' '/bin/hsd: line 41:
for arg in "$@"; do
Note the message here: https://hsd-dev.org/api-docs/#create-a-transaction
Be careful how you enter values and fee rates!
value and rate are expressed in subunits when using cURL or Javascript
value and rate are expressed in WHOLE HNS when using CLI
Watch carefully how values are entered in the examples, all examples send the same amount when executed
This is a big issue with the API -- between RPC and HTTP APIs, and then using CLI commands vs curl or JS... developers can get really screwed up.
We need a big explainer in the "intro" section at the top of the api-docs, maybe with a chart, that lays out when and where and why which unit is used for which methods. We don't want developers entering 1000000
and accidentally sending 1,000,000 HNS when they think they're just sending 1.000000 HNS !
This applies to all fee settings and value settings in transaction stuff. Probably throughout the API docs the new intro message should be linked-to for reference.
on the config page the HSD config sample is broken and defaults to a 404 page as seen here
This is kind of an amazing oversight, but NodeClient
and WalletClient
actually do no parse network
as options. The command line utilities (like hsd-cli
) do, but then the CLI program itself just parses that to determine which port
setting to pass the actual client object.
All the JavaScript examples in the API docs can be updated to remove these from the options:
network: network.type,
In addition, the line can be cleared out from the "Using Javascript Clients" section.
This change should be backported to bcoin docs as well: https://github.com/bcoin-org/bcoin-org.github.io
https://hsd-dev.org/api-docs/?shell--cli#send-a-transaction
the rate for transaction fees. Denominated in subunits per kb
I don't think this is right. Internally in hsd, rate
is treated as an int, a number of dollarydoos. But actually what you enter into hsw-cli
is a float, that gets multiplied *10e6
:
rate: this.config.ufixed('rate', EXP),
I started running a fresh hsd node in pruned mode, using
$ ./bin/hsd --prune --prefix ~/.hsd_prune
The instructions here state that it should not require more than 400 MB: https://github.com/handshake-org/handshake-org.github.io/blob/master/src/guides/config.md#pruned-full-node-with-wallet
However, my data directory is 7.8 Gb:
$ du -sh hsd_prune/
7.8G hsd_prune/
Are the instructions out of date, or am I doing something incorrectly? Thanks!
Illegal instruction on Athlon, same code works fine on Xeon.
$ ./bin/hsd
[info] (chain) Chain is loading.
[info] (chain) Checkpoints are enabled.
[info] (chaindb) Opening ChainDB...
Illegal instruction (core dumped)
$ cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 16
model : 6
model name : AMD Athlon(tm) II X2 270 Processor
stepping : 3
microcode : 0x10000c8
cpu MHz : 800.000
cache size : 1024 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 2
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 5
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt nodeid_msr hw_pstate vmmcall npt lbrv svm_lock nrip_save
bugs : tlb_mmatch fxsave_leak sysret_ss_attrs null_seg spectre_v1 spectre_v2
bogomips : 6800.26
TLB size : 1024 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 48 bits physical, 48 bits virtual
power management: ts ttp tm stc 100mhzsteps hwpstate
processor : 1
vendor_id : AuthenticAMD
cpu family : 16
model : 6
model name : AMD Athlon(tm) II X2 270 Processor
stepping : 3
microcode : 0x10000c8
cpu MHz : 800.000
cache size : 1024 KB
physical id : 0
siblings : 2
core id : 1
cpu cores : 2
apicid : 1
initial apicid : 1
fpu : yes
fpu_exception : yes
cpuid level : 5
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt nodeid_msr hw_pstate vmmcall npt lbrv svm_lock nrip_save
bugs : tlb_mmatch fxsave_leak sysret_ss_attrs null_seg spectre_v1 spectre_v2
bogomips : 6800.26
TLB size : 1024 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 48 bits physical, 48 bits virtual
power management: ts ttp tm stc 100mhzsteps hwpstate
can't figure out where to grab hsw-cli
from, any help is much appreciated!
I just reverted #79 because it broke all the JavaScript on the site. After spending 3-4 days trying to upgrade middleman to patch the security issue mentioned in the PR, I'm just giving up on it.
It's not really such a security for us as far as I can tell, because we render the site in advance and use github pages to serve static files.
It'd be great if anyone wants to try to take this on, by which I mean upgrading middleman and whatever else it needs to be latest everything securely patched and whatnot. I had a hard time dealing with the Ruby/Rails/Gem/Bundler ecosystem and think maybe the real long term solution is to just replace the mechanics of the site completely with some other nice-looking markdown renderer.
I think some of the block JSONs still have solution
fields from like 3 proof of works ago, reminder: fix this.
This notice: https://hsd-dev.org/api-docs/#getunconfirmedbalance
Should be moved to the top of the api-docs after Wallet: recovery
The documentation says "Install hsd-cli and hsw-cli command line tools with the hs-client package. Included with hsd by default, but can be installed separately: npm install -g hsd-client
"
However, npm install -g hsd-client
gives:
npm ERR! Linux 4.15.0-33-generic
npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "install" "-g" "hsd-client"
npm ERR! node v8.10.0
npm ERR! npm v3.5.2
npm ERR! code E404
npm ERR! 404 Not found : hsd-client
npm ERR! 404
npm ERR! 404 'hsd-client' is not in the npm registry.
npm ERR! 404 You should bug the author to publish it (or use the name yourself!)
npm ERR! 404
npm ERR! 404 Note that you can also install from a
npm ERR! 404 tarball, folder, http url, or git url.
Please feel free to add this as a guide to your website if you would like. I do not require attribution.
Originally posted here: handshake-org/hs-airdrop#2 (comment)
DISCLAIMER: THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
First, create this Dockerfile
in an empty directory:
FROM node
RUN git clone https://github.com/handshake-org/hs-airdrop.git /hs-airdrop
WORKDIR /hs-airdrop
RUN yarn
RUN mkdir -p /root/.hs-tree-data/nonces
RUN curl -Lo /root/.hs-tree-data/tree.bin https://github.com/handshake-org/hs-tree-data/raw/master/tree.bin
RUN curl -Lo /root/.hs-tree-data/faucet.bin https://github.com/handshake-org/hs-tree-data/raw/master/faucet.bin
RUN curl -Lo /root/.hs-tree-data/proof.json https://github.com/handshake-org/hs-tree-data/raw/master/proof.json
RUN curl -Lo /root/.hs-tree-data/nonces/172.bin https://github.com/handshake-org/hs-tree-data/raw/master/nonces/172.bin
In that directory, run the following commands:
mkdir keys
cp ~/.ssh/id_rsa ~/.ssh/id_rsa.pub keys
# Change the password on your SSH key
ssh-keygen -p -f keys/id_rsa
docker build -t hs-airdrop .
docker run --rm -it --network none --name no-net --volume=$(pwd)/keys:/ssh hs-airdrop bash
You'll now be running a non-networked container. This is not as secure as it could be if you properly air-gapped, but it's better than nothing. Inside the container you can check there's no network connectivity:
ping 8.8.8.8
Should give an error - so you know there's no internet. Now run the airdrop command:
./bin/hs-airdrop /ssh/id_rsa <YOUR_WALLET_ADDRESS> 0.010
(0.010 is the mining fee recommended by namebase.io)
You'll probably get an error about not being able to fetch the nonce; this is likely because bucket 172 above is incorrect for you. Exit the docker bash shell, edit the Dockerfile above to contain the correct bucket number (in BOTH PLACES on that final line), then run again:
docker build -t hs-airdrop .
docker run --rm -it --network none --name no-net --volume=$(pwd)/keys:/ssh hs-airdrop bash
Issue the ./bin/hs-airdrop
command again and hopefully this time it will work.
By default, hsd
runs with a wallet node as a plugin to the full node.
This can be disabled with hsd --no-wallet
.
There is an independant wallet node that runs as a separate process entirely and connects to the hsd full node. That wallet application can be launched with the command hs-wallet
. This wallet node can even be run on a separate machine from the full node, assuming SSL and a strong API key are used for security.
We may not need it in the official API docs, given that it's only used by a select group of people (or more likely, the first few miners).
I have tried to subscribe to the mailing list for handshake by emailing subscribe to [email protected]. I got "email account that you tried to reach does not exist" from the email server.
These two commands need to be moved and re-written with correct examples. Note that sendrawclaim
IS a full node rpc - its just a TX-broadcaster it does not require wallet action.
{
"version": 0,
"compat": false,
"ttl": 172800,
"ns": [
"[email protected]"
]
}
should look more like this:
{
"records": [
{
"type": "GLUE4",
"ns": "ns1.coolness.",
"address": "23.239.11.203"
},
{
"type": "GLUE4",
"ns": "ns2.coolness.",
"address": "66.175.216.232"
},
{
"type": "GLUE4",
"ns": "ns3.coolness.",
"address": "139.162.52.201"
}
]
}
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.