Skip to content

Instantly share code, notes, and snippets.

@reazuliqbal
Created February 17, 2018 09:42
Show Gist options
  • Save reazuliqbal/5b6bc9214946c10825f384b5ba4ba687 to your computer and use it in GitHub Desktop.
Save reazuliqbal/5b6bc9214946c10825f384b5ba4ba687 to your computer and use it in GitHub Desktop.
Post to Steemit usning PHP
{
"require": {
"t3ran13/php-graphene-node-client": "^3.1"
}
}
<?php
require_once 'vendor/autoload.php';
use GrapheneNodeClient\Tools\ChainOperations\OpComment;
use GrapheneNodeClient\Connectors\Http\SteemitHttpConnector;
$connector = new SteemitHttpConnector();
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Post to Steemit</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
</head>
<body>
<nav class="navbar navbar-default">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="navbar-collapse" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="./">Post to Steemit</a>
</div>
<div class="collapse navbar-collapse" id="navbar-collapse">
<ul class="nav navbar-nav navbar-right">
<li><a href="https://steemit.com">Steemit.com</a></li>
<li><a href="https://steemd.com">Steemd.com</a></li>
</ul>
</div>
</div>
</nav>
<main class="container">
<?php if( $_SERVER['REQUEST_METHOD'] === "GET" ) : ?>
<form action="index.php" method="post" class="form-horizontal">
<div class="form-group">
<div class="col-sm-8">
<label for="title">Title</label>
<input type="text" id="title" name="title" class="form-control" required="">
<p class="help-block">Enter post title, post permlink will be created from it.</p>
</div>
<div class="col-sm-4">
<label for="category">Category</label>
<input type="text" id="category" name="category" class="form-control" required="">
<p class="help-block">Enter main post category. E.g. steemit or steem or cryptocurrency.</p>
</div>
</div>
<div class="form-group">
<div class="col-sm-12">
<label for="body">Body</label>
<textarea id="body" name="body" class="form-control" rows="10" required=""></textarea>
</div>
</div>
<div class="form-group">
<div class="col-sm-4">
<label for="username">Steemit Username</label>
<input type="text" id="username" name="username" class="form-control" required="">
<p class="help-block">Enter Steemit username without @ sign.</p>
</div>
<div class="col-sm-8">
<label for="postingkey">Posting Private Key</label>
<input type="password" id="postingkey" name="postingkey" class="form-control" required="">
<p class="help-block">Enter private posting key. Get yours by going to https://steemit.com/@username/permissions</p>
</div>
</div>
<button type="submit" class="btn btn-lg btn-block btn-primary">Post</button>
</form>
<?php elseif ( $_SERVER['REQUEST_METHOD'] === "POST" ) : ?>
<?php
$answer = OpComment::doSynchronous(
$connector,
trim($_POST['postingkey']),
trim($_POST['username']),
strtolower(str_replace(' ', '-', trim($_POST['title']))),
trim($_POST['title']),
trim($_POST['body']),
'{ "tags": ["steemit","test"], "app": "CodeBull/1.0"}',
trim($_POST['category'])
);
?>
<?php if($answer) : ?>
<div class="alert alert-success" role="alert">
<p>Your post has been posted to <a href="https://steemit.com/@<?php echo trim($_POST['username']);?>">Steemit.com</a>. You can also check it in <a href="https://steemd.com/tx/<?php echo $answer['result']['id']; ?>">Steemd.com</a></p>
</div>
<?php endif; ?>
<?php endif; ?>
</main>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
</body>
</html>
@andriy063
Copy link

Not working.
Uncaught JsonRPC\Exception\ResponseException: Assert Exception:method_itr != api_itr->second.end(): Could not find method login in /home1/.../vendor/fguillot/json-rpc/src/JsonRPC/Response/ResponseParser.php

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment