Merge branch 'master' into usd_bounties

This commit is contained in:
Jeremy Kauffman 2017-05-24 15:45:10 -04:00 committed by GitHub
commit 56709e0d2c
18 changed files with 100 additions and 51 deletions

View file

@ -4,3 +4,6 @@ category: other
---
Yep. You can see it at [https://explorer.lbry.io](https://explorer.lbry.io).
If the enslaved squirrels that run our primary explorer are sleeping, try
[http://yiimp.ccminer.org/explorer/LBC](http://yiimp.ccminer.org/explorer/LBC)

View file

@ -15,7 +15,7 @@ Make a copy of the `$HOME/.lbryum/wallets` directory.
## lbrycrd wallet
You may have a lbrycrd wallet if you used an early version of LBRY or if you ran `lbrycrdd` manually. Look for the `C:\Users\%USER%\AppData\Roaming\lbrycrd` directory on Windows, or the `$HOME/.lbrycrd` directory on MacOS or Linux. If you have this directory, back up the `wallet.dat` file therein.
You may have a lbrycrd wallet if you used an early version of LBRY or if you ran `lbrycrdd` manually. Look for the `C:\Users\%USER%\AppData\Roaming\lbrycrd` directory on Windows, the `$HOME/Library/Application Support/lbrycrd` directory on MacOS, or the `$HOME/.lbrycrd` directory on Linux. If you have this directory, back up the `wallet.dat` file therein.
## See Also

View file

@ -5,6 +5,8 @@ category: mining
Library Credits (LBC) are mined over a 20-year Proof of Work period.
Block rewards increase every 100 blocks by 1LBC, peak at 500, and decline slowly.
LBRY mining is dominated by the GPU market and we don't see CPU mining as econonmically viable at this point. If you still want to CPU mine to help the network, see instructions below.
For GPU mining, please see our list of [pools](https://lbry.io/faq/mining-pools). Each pool has a slightly different setup so please check their Getting Started page.
For CPU mining, LBRY binaries are out for OS X, Windows, and Ubuntu. Others may try compiling from source.

View file

@ -0,0 +1,23 @@
---
author: reilly
title: 'Supergreen'
date: '2017-05-04 00:19:30'
cover: 'growgreens-banner.PNG'
---
Weve been toiling away building LBRY for eighteen months now.
So, we decided it was time to step outside. Weve never been outside before, but heard it was pretty fun, and this is what we found.
![Growing Your Greens](/img/news/growgreens-inline2.PNG)
Growing Your Greens is one of the oldest online gardening shows. John Kohler has been helping people cultivate their urban gardens for more than *eight years.* Thats like, O.G. YouTube days... back when YouTube was... a happier place.
But hes moving onto greener pastures right here on LBRY.
If youve been looking to build your own garden and dont know where to start, this is bar none the best place on the internet to learn from the master. John Kohlers gardening adventures and tips can soon be found at:
- lbry://@GrowingYourGreens
Dont stay outside long, though. Youll miss LBRY too much.
**Not on LBRY yet?** [Get an invite here](https://lbry.io/get). Have some tips and tricks of your own craft to share? Email reilly@lbry.io to **spread** your **knowledge** faster than Tai Lopez in a lambo.

View file

@ -0,0 +1,27 @@
---
author: reilly
title: 'Rationale'
date: '2017-05-11 00:19:30'
cover: 'juliagalef-banner3.jpg'
---
Like many internet technologies, the LBRY network was born not only as a response to economic incentives, but as a philosophical and ethical answer to the status quo.
In our case, the status quo are monolithic content distribution giants.
Every now and then, some high level reflection can be a powerful tool. And there is no one better at that than rationality rock star Julia Galef.
![Julia Galef](/img/news/juliagalef-inline.jpg)
Julia Galefs podcast [Rationally Speaking](http://rationallyspeakingpodcast.org/) and vlogs were some of the first content series we sought to share on LBRY.
One of the most critical minds of our day, Julia co-founded the non-profit Center for Applied Rationality in 2012, and has written about rationality and philosophy for *Scientific American*, Slate, *Popular Science*, and more.
Her vlog lectures, covering paradoxes, beliefs, morality, and everything under the philosophical sun, can be found on LBRY at:
lbry://@JuliaGalef
(The Rationally Speaking podcast series will also be available @JuliaGalef--as well as other podcasts--when LBRY introduces its native audio player.)
LBRY: now with free thinking caps.
**Not on LBRY yet?** [Get an invite here](https://lbry.io/get). Got wisdom and an audience? Email reilly@lbry.io to enlighten us all.

View file

@ -0,0 +1,22 @@
---
author: reilly
title: '...it isnt free'
date: '2017-05-11 00:19:30'
cover: 'kokesh-banner.jpg'
---
Freedom might not be free. But the works of freedom fighter Adam Kokesh definitely are.
Courtesy of the first amendment, LBRY brings you freedom of speech with a side of kick-ass.
![Adam Kokesh](/img/news/kokesh-inline.jpg)
US military veteran-turned-liberty activist, there have been fewer more attractive lighting rods in the freedom movement than Mr. Kokesh. From dancing at the Jefferson Memorial, to cocking a shotgun 36 inches left of where he was so supposed to be standing, to off-the-grid living, no one pushes the boundaries in the name of liberty quite like this.
The chronicles of Kokesh are now documented, boldly and uncensored at:
lbry://@AdamKokesh
Have a message to share? Follow Adams lead and sync your YouTube channel with the LBRY sync API: https://api.lbry.io/yt/connect
**Not on LBRY yet?** [Get an invite here](https://lbry.io/get). Feel like breaking the chains of YouTube? Email reilly@lbry.io to experience what liberty is really about.

View file

@ -220,7 +220,7 @@ class ContentActions extends Actions
{
$lastItem = end($items);
$project = $lastItem['project'];
if (!isset($projectMaxVersions[$project]) || $lastItem['version'] > $projectMaxVersions[$project])
if (!isset($projectMaxVersions[$project]) || strnatcasecmp($lastItem['version'], $projectMaxVersions[$project]) > 0)
{
$projectMaxVersions[$project] = $lastItem['version'];
}

View file

@ -13,8 +13,10 @@ class Github
{
$ext = substr($asset['name'], -4);
if (
($os == OS::OS_LINUX && ($ext == '.deb' || in_array($asset['content_type'], ['application/x-debian-package', 'application/x-deb']))) ||
($os == OS::OS_OSX && ($ext == '.dmg' || in_array($asset['content_type'], ['application/x-diskcopy', 'application/x-apple-diskimage']))) ||
($os == OS::OS_LINUX &&
($ext == '.deb' || in_array($asset['content_type'], ['application/x-debian-package', 'application/x-deb']))) ||
($os == OS::OS_OSX &&
($ext == '.dmg' || in_array($asset['content_type'], ['application/x-diskcopy', 'application/x-apple-diskimage']))) ||
($os == OS::OS_WINDOWS && $ext == '.exe')
)
{
@ -105,7 +107,7 @@ class Github
$allReleases = [];
$project = 'lbry';
$page = 1;
$page = 1;
do
{
@ -116,7 +118,7 @@ class Github
return $release + ['project' => $project];
}, array_filter($releases, function ($release)
{
return isset($release['tag_name']) && isset($release['published_at']) && $release['published_at'];
return ($release['tag_name'] ?? null) && ($release['published_at'] ?? null) && !$release['prerelease'];
})));
} while (count($releases) >= 30);
@ -124,58 +126,28 @@ class Github
{
$group = null;
$matches = null;
if (isset($release['tag_name']) && preg_match('/v(\d+)\.(\d+).?(\d+)?/', $release['tag_name'], $matches))
if (preg_match('/^v(\d+)\.(\d+)\./', $release['tag_name'] ?? '', $matches))
{
$group = 'v' . $matches[1] . '.' . $matches[2];
}
if ($group)
{
$sets[$group][] = array_intersect_key($release, [
'prerelease' => null, 'tag_name' => null, 'published_at' => null, 'project' => null
]) + [
'date' => date('Y-m-d', strtotime($release['created_at'])),
//I thought published_at, but GitHub displays created_at and published_at is out of sync sometimes (0.3.2, 0.3.3)
'name' => $release['name'] ?: $release['tag_name'],
'url' => $release['html_url'],
'major_version' => $matches[1],
'minor_version' => $matches[2],
'patch_version' => isset($matches[3]) ? $matches[3] : null,
'version' => $matches[1] . '.' . $matches[2] . '.' . (isset($matches[3]) ? $matches[3] : ''),
'body' => ParsedownExtra::instance()->text($release['body'])
];
$sets[$group][] = [
'project' => $release['project'],
'date' => date('Y-m-d', strtotime($release['created_at'])),
'created_at' => $release['created_at'],
'name' => $release['name'] ?: $release['tag_name'],
'url' => $release['html_url'],
'version' => $release['tag_name'],
'body' => ParsedownExtra::instance()->text($release['body'])
];
}
}
uasort($sets, function ($sA, $sB)
{
if ($sA[0]['project'] != $sB[0]['project'])
{
return $sA[0]['project'] < $sB[0]['project'] ? -1 : 1;
}
if ($sA[0]['major_version'] != $sB[0]['major_version'])
{
return $sA[0]['major_version'] < $sB[0]['major_version'] ? -1 : 1;
}
if ($sA[0]['minor_version'] != $sB[0]['minor_version'])
{
return $sA[0]['minor_version'] < $sB[0]['minor_version'] ? -1 : 1;
}
return $sA[0]['patch_version'] < $sB[0]['patch_version'] ? -1 : 1;
});
uasort($sets, function ($sA, $sB) { return $sA[0]['created_at'] <=> $sB[0]['created_at']; });
foreach ($sets as $group => &$groupSet)
{
usort($groupSet, function ($rA, $rB) {
if ($rA['major_version'] != $rB['major_version'])
{
return $rA['major_version'] < $rB['major_version'] ? -1 : 1;
}
if ($rA['minor_version'] != $rB['minor_version'])
{
return $rA['minor_version'] < $rB['minor_version'] ? -1 : 1;
}
return $rA['patch_version'] < $rB['patch_version'] ? -1 : 1;
});
usort($groupSet, function ($rA, $rB) { return $rA['created_at'] <=> $rB['created_at']; });
}
return $sets;

View file

@ -32,7 +32,7 @@
<?php $isOpen = !isset($lastItem['project']) || !isset($lastItem['version']) || $lastItem['version'] === $projectMaxVersions[$lastItem['project']] ?>
<h2 class="roadmap-group-title" <?php echo !$isOpen ? 'style="display: none"' : '' ?>">
<span class="roadmap-group-title-label">
<?php echo $group ?> <?php echo isset($lastItem['version']) && $lastItem['version'] === $projectMaxVersions[$lastItem['project']] ? '(latest )' : '' ?>
<?php echo $group ?> <?php echo isset($lastItem['version']) && $lastItem['version'] === $projectMaxVersions[$lastItem['project']] ? '(latest)' : '' ?>
</span>
</h2>
<div class="roadmap-group <?php echo !$isOpen ? 'roadmap-group-closed' : '' ?>">

View file

@ -13,7 +13,7 @@
<code class="code-bash"><span class="code-bash__prompt">$</span>curl 'http://localhost:5279/lbryapi' --data '{"method":"wallet_balance"}'
<span class="code-bash__response">[50.00000000]</span></code>
<h3 id="publish">Publishing</h3>
<p>Publishing to LBRY is just as easy as everything else! If you publish something, we'll send you an additional 50 LBC for further use.</p>
<p>Publishing to LBRY is just as easy as everything else! If you publish something, we'll send you an additional 25 LBC for further use.</p>
<p>Not sure what to publish? We recommend your favorite picture or home video. Or just grab something from <a class="link-primary" href="https://archive.org/details/movies">here</a>.</p>
<code class="code-bash"><span class="code-bash__prompt">$</span>curl 'http://localhost:5279/lbryapi' --data '{"method":"publish", "params": {
"name": "electricsheep",
@ -44,7 +44,7 @@
</div>
<h3>Enjoy a Hollywood Film</h3>
<p><a href="http://www.imdb.com/title/tt1995341/" class="link-primary">It's a Disaster</a> starring David Cross is just one of tens of thousands of great pieces of content available. Check it out!</p>
<code class="code-bash"><span class="code-bash__prompt">$</span>curl 'http://localhost:5279/lbryapi' --data '{"method":"get","params":{"name":"itsadisaster"} }'
<code class="code-bash"><span class="code-bash__prompt">$</span>curl 'http://localhost:5279/lbryapi' --data '{"method":"get","params":{"uri":"itsadisaster"} }'
<span class="code-bash__response">[
{
<span class="code-bash__comment">//some response fields omitted for brevity</span>

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 362 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 302 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 294 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 213 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 165 KiB